Page MenuHomec4science

No OneTemporary

File Metadata

Created
Sat, May 3, 20:54
This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/README.md b/README.md
new file mode 100755
index 0000000..ac7f4e1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,114 @@
+# EPFL upper limb musculoskeletal model
+This upper limb musculoskeletal model was developed at the EPFL by David Ingram and Ehsan Sarshari. It is implemented in Matlab. The details are explained in README files within each of the following subfolders.
+
+## Getting Started
+The following instructions will get you a copy of the project locally.
+* Clone the repository locally
+* Start matlab and set path one of the model's directorie (see below).
+
+## Prerequisites
+The model requires Matlab 2015 with the following toolboxes.
+
+## Description of the model
+
+ShoulderModel
+
+This folder contains the musculoskeletal model of the human shoulder and elbow that can replicate healthy subjects and patients with anatomical total shoulder arthroplasty (aTSA).
+
+
+## ShoulderModel_pre_post_processing
+This folder contains scripts and documentations that allow/explain transformation of the patients data obtained from the preoperative Blueprint software and CTs into inputs that are consistent and readable by different versions of the MSM model.
+
+
+## Authors
+* David Ingram (EPFL-LA)
+Development of the 1st version of the model, during his PhD thesis.
+https://infoscience.epfl.ch/record/204692
+
+* Ehsan Sarshari (EPFL-LA/LBO)
+Development of the 2nd version of the model, during his PhD thesis.
+https://infoscience.epfl.ch/record/256396
+
+## Contributors
+* Christoph Engelhardt (EPFL-LBO): Performed anatomical measurements on MRI of healthy volunteer.
+* Yasmine Boulanaache (EPFL-LBO): Performed anatomical measurements on MRI of healthy volunteer.
+* Matteo Mancuso (EPFL-LMAM): Performed kinematics and EMG measurements on healthy volunteer.
+* Fabio Becche (CHUV-RAD): set MRI protocols to build generic model from volunteer
+* Alain Farron (CHUV-OTR): clinical supervision
+* Alexandre Terrier (EPFL-LBO): biomechanical supervision
+* Philippe Mullhaupt (EPFL-LA): PhDs' supervision
+
+## Bibliography
+These models are described in the following journal articles.
+
+
+* Sarshari, E., Mancuso, M., Terrier, A., Farron, A., Mullhaupt, P., Pioletti, D., 2020.
+Muscle co-contraction in an upper limb musculoskeletal model: EMG-assisted vs. standard load-sharing. Computer Methods in Biomechanics and Biomedical Engineering 1–14.
+DOI: https://doi.org/10.1080/10255842.2020.1814755
+
+* Sarshari, E., Mancuso, M., Terrier, A., Farron, A., Mullhaupt, P., Pioletti, D., 2020.
+Feasibility of an alternative method to estimate glenohumeral joint center from videogrammetry measurements and CT/MRI of patients. Computer Methods in Biomechanics and Biomedical Engineering 1–10.
+DOI: https://doi.org/10.1080/10255842.2020.1808889
+
+* Sarshari, E., Farron, A., Terrier, A., Pioletti, D., Mullhaupt, P.
+A simulation framework for humeral head translations
+(2017) Medical Engineering and Physics, 49, pp. 140-147.
+DOI: 10.1016/j.medengphy.2017.08.013
+
+* Engelhardt, C., Farron, A., Becce, F., Place, N., Pioletti, D.P., Terrier, A.
+Effects of glenoid inclination and acromion index on humeral head translation and glenoid articular cartilage strain
+(2017) Journal of Shoulder and Elbow Surgery, 26 (1), pp. 157-164.
+DOI: 10.1016/j.jse.2016.05.031
+
+* Engelhardt, C., Ingram, D., Müllhaupt, P., Farron, A., Becce, F., Pioletti, D., Terrier, A.
+Effect of partial-thickness tear on loading capacities of the supraspinatus tendon: a finite element analysis
+(2016) Computer Methods in Biomechanics and Biomedical Engineering, 19 (8), pp. 875-882.
+DOI: 10.1080/10255842.2015.1075012
+
+* Ingram, D., Engelhardt, C., Farron, A., Terrier, A., Müllhaupt, P.
+Modelling of the human shoulder as a parallel mechanism without constraints
+(2016) Mechanism and Machine Theory, 100, pp. 120-137.
+DOI: 10.1016/j.mechmachtheory.2016.02.004
+
+* Ingram, D., Engelhardt, C., Farron, A., Terrier, A., Müllhaupt, P.
+Improving anterior deltoid activity in a musculoskeletal shoulder model – an analysis of the torque-feasible space at the sternoclavicular joint
+(2016) Computer Methods in Biomechanics and Biomedical Engineering, 19 (4), pp. 450-463.
+DOI: 10.1080/10255842.2015.1042465
+
+* Engelhardt, C., Malfroy Camine, V., Ingram, D., Müllhaupt, P., Farron, A., Pioletti, D., Terrier, A.
+Comparison of an EMG-based and a stress-based method to predict shoulder muscle forces
+(2015) Computer Methods in Biomechanics and Biomedical Engineering, 18 (12), pp. 1272-1279.
+DOI: 10.1080/10255842.2014.899587
+
+* Ingram, D., Engelhardt, C., Farron, A., Terrier, A., Müllhaupt, P.
+Muscle moment-arms: a key element in muscle-force estimation
+(2015) Computer Methods in Biomechanics and Biomedical Engineering, 18 (5), pp. 506-513.
+DOI: 10.1080/10255842.2013.818666
+
+* Ingram, D., Engelhardt, C., Farron, A., Terrier, A., Mullhaupt, P.
+A minimal set of coordinates for describing humanoid shoulder motion
+(2013) IEEE International Conference on Intelligent Robots and Systems, art. no. 6697159, pp. 5537-5544.
+DOI: 10.1109/IROS.2013.6697159
+
+* Terrier, A., Aeberhard, M., Michellod, Y., Mullhaupt, P., Gillet, D., Farron, A., Pioletti, D.P.
+A musculoskeletal shoulder model based on pseudo-inverse and null-space optimization
+(2010) Medical Engineering and Physics, 32 (9), pp. 1050-1056.
+DOI: 10.1016/j.medengphy.2010.07.006
+
+* Aeberhard, M., Michellod, Y., Mullhaupt, P., Terrier, A., Pioletti, D.P., Gillet, D.
+Dynamical biomechanical model of the shoulder: Null space based optimization of the overactuated system
+(2008) 2008 IEEE International Conference on Robotics and Biomimetics, ROBIO 2008, art. no. 4912981, pp. 67-73.
+DOI: 10.1109/ROBIO.2009.4912981
+
+## License
+This should be discussed with Technology Transfer office (TTO) of EPFL
+
+## Acknowledgments
+The project was financially supported by the Swiss National Science Foundation (SNSF)
+* K-32K1_122512
+* CR32I2_143704
+* CR32I2_162766
+
+and by the Lausanne Orthopedic Research Foundation (LORF).
+
+We thank Julien Ston, former PhD student, the young healthy volunteer who spent hours in the MRI and in the Laboratory of Movement Analysis and Measurements (EPFL-LMAM).
diff --git a/ShoulderModel/Data_Structures_and_Documentation/BLDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/BLDATA_MOD.mat
new file mode 100755
index 0000000..8d7e1ee
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/BLDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/BLDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/BLDATA_VHP.mat
new file mode 100755
index 0000000..3ab9c29
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/BLDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/DYDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/DYDATA_MOD.mat
new file mode 100755
index 0000000..be881f7
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/DYDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/DYDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/DYDATA_VHP.mat
new file mode 100755
index 0000000..abc43a2
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/DYDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_2.mat b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_2.mat
new file mode 100755
index 0000000..52168f6
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_2.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_20.mat b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_20.mat
new file mode 100755
index 0000000..49fdd2b
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_140ABD_20.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/EFDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_MOD.mat
new file mode 100755
index 0000000..e3b467d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/EFDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_VHP.mat
new file mode 100755
index 0000000..f29a912
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/EFDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JCDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/JCDATA_MOD.mat
new file mode 100755
index 0000000..43d015a
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JCDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JCDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/JCDATA_VHP.mat
new file mode 100755
index 0000000..a31fe7d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JCDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JRDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_MOD.mat
new file mode 100755
index 0000000..6b79e86
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_2.mat b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_2.mat
new file mode 100755
index 0000000..0b25d7d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_2.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_20.mat b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_20.mat
new file mode 100755
index 0000000..7d3cd89
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_SA_20.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/JRDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_VHP.mat
new file mode 100755
index 0000000..427a920
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/JRDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/KEDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/KEDATA_MOD.mat
new file mode 100755
index 0000000..2f84607
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/KEDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/KEDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/KEDATA_VHP.mat
new file mode 100755
index 0000000..4b2aeaa
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/KEDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MADATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/MADATA_MOD.mat
new file mode 100755
index 0000000..3d1110d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MADATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MADATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/MADATA_VHP.mat
new file mode 100755
index 0000000..3380416
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MADATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MEDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/MEDATA_MOD.mat
new file mode 100755
index 0000000..0a14297
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MEDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MEDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/MEDATA_VHP.mat
new file mode 100755
index 0000000..0f2b40e
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MEDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MWDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/MWDATA_MOD.mat
new file mode 100755
index 0000000..2422dd4
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MWDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/MWDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/MWDATA_VHP.mat
new file mode 100755
index 0000000..8715d51
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/MWDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/BLDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/BLDATA.mat
new file mode 100755
index 0000000..2828197
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/BLDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/DYDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/DYDATA.mat
new file mode 100755
index 0000000..57dac77
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/DYDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/EFDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/EFDATA.mat
new file mode 100755
index 0000000..52168f6
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/EFDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JCDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JCDATA.mat
new file mode 100755
index 0000000..86526b2
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JCDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JRDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JRDATA.mat
new file mode 100755
index 0000000..0b25d7d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/JRDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/KEDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/KEDATA.mat
new file mode 100755
index 0000000..b44ca6a
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/KEDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MADATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MADATA.mat
new file mode 100755
index 0000000..aac229d
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MADATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MEDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MEDATA.mat
new file mode 100755
index 0000000..7fb1cc1
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MEDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MWDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MWDATA.mat
new file mode 100755
index 0000000..707f19b
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/MWDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/REDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/REDATA.mat
new file mode 100755
index 0000000..7e25d99
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/ModM_Model/REDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/BLDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/BLDATA.mat
new file mode 100755
index 0000000..ac67386
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/BLDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/DYDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/DYDATA.mat
new file mode 100755
index 0000000..3a61401
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/DYDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/EFDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/EFDATA.mat
new file mode 100755
index 0000000..49fdd2b
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/EFDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JCDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JCDATA.mat
new file mode 100755
index 0000000..9282d22
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JCDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JRDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JRDATA.mat
new file mode 100755
index 0000000..7d3cd89
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/JRDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/KEDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/KEDATA.mat
new file mode 100755
index 0000000..96f56ef
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/KEDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MADATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MADATA.mat
new file mode 100755
index 0000000..eed8f06
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MADATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MEDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MEDATA.mat
new file mode 100755
index 0000000..e66e9d5
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MEDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MWDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MWDATA.mat
new file mode 100755
index 0000000..52c57d6
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/MWDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/REDATA.mat b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/REDATA.mat
new file mode 100755
index 0000000..75045ff
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/Orignal_Model/REDATA.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/REDATA_MOD.mat b/ShoulderModel/Data_Structures_and_Documentation/REDATA_MOD.mat
new file mode 100755
index 0000000..101ad53
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/REDATA_MOD.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/REDATA_VHP.mat b/ShoulderModel/Data_Structures_and_Documentation/REDATA_VHP.mat
new file mode 100755
index 0000000..3f989c4
Binary files /dev/null and b/ShoulderModel/Data_Structures_and_Documentation/REDATA_VHP.mat differ
diff --git a/ShoulderModel/Data_Structures_and_Documentation/Visualise_Data.m b/ShoulderModel/Data_Structures_and_Documentation/Visualise_Data.m
new file mode 100755
index 0000000..f03f7d7
--- /dev/null
+++ b/ShoulderModel/Data_Structures_and_Documentation/Visualise_Data.m
@@ -0,0 +1,122 @@
+% Clean workspace
+clc; clear all; close all;
+
+load EFDATA_MOD;
+EFDATAD = EFDATA;
+load EFDATA_VHP;
+
+load KEDATA_VHP;
+vartheta = KEDATA.Joint_Angle_Evolution(8,1:end-2);
+vartheta (1,1) = 0;
+
+ADF = EFDATAD{22,1}.Forces(1:end-2,1)*100/277.48;
+ADFA = EFDATAD{22,1}.Forces(1:end-2,2)*100/277.48;
+MDF = EFDATAD{23,1}.Forces(1:end-2,1)*100/1860.52;
+PDF = EFDATAD{24,1}.Forces(1:end-2,1)*100/567.15;
+SUF = EFDATAD{25,1}.Forces(1:end-2,1)*100/687.84;
+INF = EFDATAD{26,1}.Forces(1:end-2,1)*100/1099.61;
+SBF = EFDATAD{27,1}.Forces(1:end-2,1)*100/1177.93;
+TMF = EFDATAD{28,1}.Forces(1:end-2,1)*100/223.35;
+TJF = EFDATAD{29,1}.Forces(1:end-2,1)*100/514.51;
+CRF = EFDATAD{30,1}.Forces(1:end-2,1)*100/150.05;
+
+ADS = EFDATA{22,1}.Forces(1:end-2,1)*100/277.48;
+MDS = EFDATA{23,1}.Forces(1:end-2,1)*100/1860.52;
+PDS = EFDATA{24,1}.Forces(1:end-2,1)*100/567.15;
+SUS = EFDATA{25,1}.Forces(1:end-2,1)*100/687.84;
+INS = EFDATA{26,1}.Forces(1:end-2,1)*100/1099.61;
+SBS = EFDATA{27,1}.Forces(1:end-2,1)*100/1177.93;
+TMS = EFDATA{28,1}.Forces(1:end-2,1)*100/223.35;
+TJS = EFDATA{29,1}.Forces(1:end-2,1)*100/514.51;
+CRS = EFDATA{30,1}.Forces(1:end-2,1)*100/150.05;
+
+figure('color', 'white');
+subplot(3,3,1)
+plot(-vartheta'*180/pi, ADF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, ADFA, 'linewidth', 2, 'color', 'red');
+plot(-vartheta'*180/pi, ADS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,2)
+plot(-vartheta'*180/pi, MDF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, MDS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+subplot(3,3,3)
+plot(-vartheta'*180/pi, PDF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, PDS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,4)
+plot(-vartheta'*180/pi, SUF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, SUS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,5)
+plot(-vartheta'*180/pi, INF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, INS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,6)
+plot(-vartheta'*180/pi, SBF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, SBS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,7)
+plot(-vartheta'*180/pi, TMF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, TMS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,8)
+plot(-vartheta'*180/pi, TJF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, TJS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
+
+subplot(3,3,9)
+plot(-vartheta'*180/pi, CRF, 'linewidth', 2, 'color', 'red');
+hold on;
+plot(-vartheta'*180/pi, CRS, 'linewidth', 2);
+grid on;
+xlim([1, 140]);
+ylim([0, 100]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 20, 40, 60, 80, 100]);
\ No newline at end of file
diff --git a/ShoulderModel/Data_Structures_and_Documentation/forces.m b/ShoulderModel/Data_Structures_and_Documentation/forces.m
new file mode 100755
index 0000000..1754d3b
--- /dev/null
+++ b/ShoulderModel/Data_Structures_and_Documentation/forces.m
@@ -0,0 +1,32 @@
+clc; clear all; close all;
+
+load JRDATA_VHP;
+JRDATA_A = JRDATA;
+load JRDATA_MOD;
+JRDATA_B = JRDATA;
+
+t = linspace(0, 1, 100);
+Pmat = [1, 1, 1, 1, 1; % Final Condition
+ 1, 0, 0, 0, 0; % 1st derivative initial condition
+ 1, 2, 3, 4, 5; % 1st derivative final condition
+ 0, 2, 0, 0, 0; % 2nd derivative initial condition
+ 0, 2, 6, 12, 20];
+
+pcoef = Pmat\[1; 0; 0; 0; 0];
+
+teta = 1 + (140-1)*pcoef'*[t; t.^2; t.^3; t.^4; t.^5];
+
+figure('color', 'white');
+plot(teta(1,1:end-2)', JRDATA_A(1:end-2,4), 'color', 'blue', 'linewidth', 2);
+hold on;
+plot(teta(1,1:end-2)', JRDATA_B(1:end-2,4), 'color', 'red', 'linewidth', 2);
+xlim([1, 140]);
+% set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140]);
+% xlabel('Humerus Abduction Angle [DEG]');
+% ylabel('GH Joint Reaction Force (%BW)');
+% title('Abduction in the Scapular Plane');
+xlim([1, 140]);
+ylim([0, 1000]);
+set(gca, 'xtick', [0, 20, 40, 60, 80, 100, 120, 140], 'fontsize', 16, 'fontweight', 'bold', 'fontname', 'sansserif');
+set(gca, 'ytick', [0, 200, 400, 600, 800, 1000]);
+grid on;
\ No newline at end of file
diff --git a/ShoulderModel/EMG_based_muscle_force/EMG_based_force_prediction.m b/ShoulderModel/EMG_based_muscle_force/EMG_based_force_prediction.m
new file mode 100755
index 0000000..c405397
--- /dev/null
+++ b/ShoulderModel/EMG_based_muscle_force/EMG_based_force_prediction.m
@@ -0,0 +1,107 @@
+function [sol, f_l, f_p, f_v, f_t, tendon_length, a_muscle, cos_alpha] = EMG_based_force_prediction(muscle_par, tspan, excitation, l_MT_length)
+%{
+function for estimating the muscle force.
+--------------------------------------------------------------------------
+Syntax :
+[sol, f_t, tendon_length, cos_alpha] = EMG_based_force_prediction(muscle_par, tspan, excitation, l_MT_length)
+--------------------------------------------------------------------------
+Description :
+It is based on
+decoupled
+equilibrium
+new framework that assures that the muscle response start off following the
+slow manifold of the response and avoids perturbation due to wrong initial
+conditions that comes from nonequilibrium states that causes the muscle
+response to drift away from its slow manifold defined
+muscle_par is f_0 l_M_0 alpha_0 v_M_0 l_S_0
+--------------------------------------------------------------------------
+%}
+
+% 1) ACTIVATION DYANMICS---------------------------------------------------
+% get the excitation
+excitation = excitation'; % the given matrix should be 2byn
+
+% solve the activation dynamics
+a_muscle = muscle_activation_dynamics(excitation, tspan);
+
+% save the activation response in a way that is needed for the contraction
+% dynamics
+activation = [a_muscle.x; a_muscle.y]';
+
+% 2) CONTRACTION DYANMICS---------------------------------------------------
+% get the l_MT (muscle-tendon length)
+l_MT = l_MT_length'; % the given matrix should be 2byn
+
+% defines the initial condition that assures the muscel response will start
+% off following the slow manifold and avoids extra perturbations.
+
+% give an initial guess to find the associated equilibrium for the given
+% initial l_MT and initial activation
+initial_guess = 1.5; %[0.8 1.30]; % can be also given as range
+
+% solve the static system equation to find the equilibrium
+initial_condition = muscle_contraction_statics(muscle_par, activation(1,2), l_MT(1,2), initial_guess);
+
+
+% if the above line did not work for any reason here is a desprate
+% alternative
+% initial_condition = 0.8 ;
+
+% solve the contraction dynamics
+[sol f_l f_p f_v f_t tendon_length cos_alpha] = muscle_contraction_dynamics(muscle_par,...
+ activation, l_MT, initial_condition, tspan);
+
+
+% show the results
+plot_value = 0; % if one will plot the results
+
+if plot_value == 1
+figure('name', 'muscle response')
+ % muscle fiber length
+ subplot(2,2,1)
+ plot(sol.x, sol.y, 'k', 'linewidth', 2)
+ title('normalized muscle fiber length')
+ xlabel('time [s]')
+ ylabel('normalized l^m [mm]')
+ grid on
+ set(gca,'FontSize',14);
+
+ % force
+ subplot(2,2,2)
+ t = linspace(tspan(1), tspan(2), 200);
+ plot(t, f_t, 'k', 'linewidth', 2)
+ hold on
+ plot(t, f_l, 'b', 'linewidth', 2)
+ plot(t, f_p, 'g', 'linewidth', 2)
+ plot(t, f_v, 'y', 'linewidth', 2)
+ activation = deval(a_muscle, linspace(tspan(1), tspan(2), 200));
+ plot(t, (activation.*f_l.*f_v/muscle_par(1,1) + f_p), '--r', 'linewidth', 2)
+ legend('f^t', 'f^l', 'f^p', 'f^v', 'f^{lvp}')
+ title('force')
+ xlabel('time [s]')
+ ylabel('force in muscle [N]')
+ grid on
+ set(gca,'FontSize',14);
+
+ % muscle fiber length
+ subplot(2,2,3)
+ plot(t, tendon_length, 'k', 'linewidth', 2)
+ title('normalized tendon length')
+ xlabel('time [s]')
+ ylabel('normalized l^t [mm]')
+ grid on
+ set(gca,'FontSize',14);
+
+ % pennation angle
+ subplot(2,2,4)
+ plot(t, (180/pi)*acos(cos_alpha), 'k', 'linewidth', 2)
+ title('pennation angle')
+ xlabel('time [s]')
+ ylabel('alpha [Deg]')
+ grid on
+ set(gca,'FontSize',14);
+end
+return;
+
+
+
\ No newline at end of file
diff --git a/ShoulderModel/EMG_based_muscle_force/contraction_statespace.m b/ShoulderModel/EMG_based_muscle_force/contraction_statespace.m
new file mode 100755
index 0000000..b5a3e93
--- /dev/null
+++ b/ShoulderModel/EMG_based_muscle_force/contraction_statespace.m
@@ -0,0 +1,97 @@
+function [dl_n_Mdt] = contraction_statespace(t, l_n_M, v_n_M, muscle_par, activation, l_MT) % don't use t for euilibrium case
+%{
+Function for generating the state space of the muscle dynamics.
+--------------------------------------------------------------------------
+Syntax :
+case 1: differential equation
+[dl_n_Mdt] = contraction_statespace(t, l_n_M, muscle_data, activation, l_MT)
+case 2: algebraic equilibrium equaation
+[dl_n_Mdt] = contraction_statespace(l_n_M, muscle_data, activation, l_MT)
+--------------------------------------------------------------------------
+Function Description :
+This function provides the state space equations of the muscle contraction
+dynamics.
+--------------------------------------------------------------------------
+%}
+% muscle data
+l_M_0 = muscle_par(1,2);
+alpha_0 = muscle_par(1,3);
+v_M_0 = muscle_par(1,4);
+l_S_0 = muscle_par(1,5);
+
+% singularity avoidance constraints for the differntial equations
+% if le(l_n_M, max(0.8, sind(alpha_0)))
+% l_n_M = max(0.8, sind(alpha_0));
+% elseif ge(l_n_M, 1.2)
+% l_n_M = 1.2;
+% else
+% l_n_M = l_n_M;
+% end
+
+% pennation angel and normalized muscle and tendon lengths
+l_M = l_M_0*l_n_M;
+
+sin_alpha = l_M_0*sind(alpha_0)/l_M;
+
+cos_alpha = sqrt(1 - sin_alpha^2);
+
+% if l_MT is a vector
+ l_MT = interp1(l_MT(:,1),l_MT(:,2),t);
+ a = interp1(activation(:,1),activation(:,2),t);
+
+ l_T = l_MT - l_M*cos_alpha;
+% if l_MT is a function of time
+% l_T = l_S_0+l_M_0*cosd(alpha_0)+0.2*l_M_0*sin(2*pi*t)-l_M*cos_alpha;
+% if l_MT is a constant
+%l_T = l_MT-l_M*cos_alpha;
+
+l_n_T = l_T/l_S_0;
+
+% musculotendon curve constants
+k_l = [0.0955];%0.1558 % to have a wider feasible range use 0.1558
+%k_p = [0.0758 5.2275 -0.0054];
+%k_p = [0.1002 19.5828 -0.00378];
+k_p = [0.0370 1.8320 -0.0239];
+%k_t = [0.3441 23.6968 -0.0443];
+%k_t = [0.0842 52.3663 -0.0062];
+k_t = [0.3791 26.3570 -0.03627];
+k_v = [1.5108 -4.9940];
+
+% 1) muscle force-length relationship
+f_l = exp((-(l_n_M - 1)^2)/k_l(1));
+
+% 2) muscle passive force relationship
+f_p = k_p(1)*exp(k_p(2)*(l_n_M - 1))- k_p(3);
+
+% 3) tendon force-length relationship
+f_t = k_t(1)*exp(k_t(2)*(l_n_T - 1))- k_t(3);
+
+% 4) muscle force-velocity relation
+f_v = k_v(1)/(1 + exp(k_v(2)*(l_M_0/v_M_0)*v_n_M));
+
+% muscle velocity
+%v_n_M = (v_M_0/l_M_0)*(1/k_v(2))*log(k_v(1)/((f_t/cos_alpha - f_p)/(activation*f_l)) - 1);
+% v_n_M = (v_M_0/l_M_0)*(1/k_v(2))*log(k_v(1)/((f_t/cos_alpha - f_p)/(a*f_l)) - 1);
+
+dl_n_Mdt = f_t - (a*f_l*f_v + f_p + 0.01*(l_M_0/v_M_0)*v_n_M)*cos_alpha;
+% to avoid complex values for the v_n_M while dealing with the differential
+% equations
+% if isreal(v_n_M)
+% v_n_M = v_n_M;
+% else
+% v_n_M = real(v_n_M);
+% end
+
+% singularity avoidance constraints for the differntial equations
+if le(l_n_M, max(0.4, sind(alpha_0))) && v_n_M < 0
+ v_n_M = 0;
+else
+ v_n_M = v_n_M;
+end
+
+% muscle dynamics (differential equations)
+% dl_n_Mdt = v_n_M;
+% muscle dynamics (algebraic equations)
+%dl_n_Mdt = f_t - (activation*f_l*k_v(1)*0.5 + f_p)*cos_alpha;
+
+return;
diff --git a/ShoulderModel/EMG_based_muscle_force/muscle_activation_dynamics.m b/ShoulderModel/EMG_based_muscle_force/muscle_activation_dynamics.m
new file mode 100755
index 0000000..117b064
--- /dev/null
+++ b/ShoulderModel/EMG_based_muscle_force/muscle_activation_dynamics.m
@@ -0,0 +1,64 @@
+function a_muscle = muscle_activation_dynamics(excitation, tspan)
+%{
+function for defining the muscle activation based on the muscle excitation.
+--------------------------------------------------------------------------
+Syntax :
+a_muscle = muscle_activation_dynamics(excitation, tspan)
+--------------------------------------------------------------------------
+Description :
+Muscle activation is based on the muscle excitation. This activation
+dynamic is adapted from two papers, including Thelen 2003 and Millard 2013.
+--------------------------------------------------------------------------
+%}
+% set integration properties
+odeoptions = odeset('RelTol',1e-5,'MaxStep',1e-3);
+
+% lower band on the activation to avoid singularity
+a_min = 0.00;
+
+% define the initial condition such that the system will start off
+% following the slow manifold of the solution
+activation_0 = (1 - a_min)*excitation(1, 2) + a_min; % initial condition
+
+
+% solve the differential equation
+sol = ode45(@(t, activation) activation_statespace(t, activation, excitation), tspan, activation_0, odeoptions);
+
+% output the result
+a_muscle = sol;
+
+return;
+
+% -------------------------------------------------------------------------
+% this function is the activation dynamics state space
+% -------------------------------------------------------------------------
+function dadt = activation_statespace(t, activation, excitation)
+
+% lower band on the activation to avoid singularity
+a_min = 0.00;
+
+% time constants for activation and deactiation
+tau_act = 30e-3; % [s]
+tau_dact = 40e-3; % [s]
+
+% define the transformed dynamics
+a_hat = (activation - a_min)/(1 - a_min);
+
+% get the excitation
+u = interp1(excitation(:,1), excitation(:,2), t);
+
+if u <0
+ u = 0;
+end
+
+% define the time constant
+if le(u, a_hat) % muscle in deactivation regime
+ tau = tau_dact/(0.5 + 1.5*a_hat);
+else
+ tau = tau_act*(0.5 + 1.5*a_hat);
+end
+
+% define the activation dynamics
+dadt = (u - a_hat)/tau;
+
+return;
diff --git a/ShoulderModel/EMG_based_muscle_force/muscle_contraction_dynamics.m b/ShoulderModel/EMG_based_muscle_force/muscle_contraction_dynamics.m
new file mode 100755
index 0000000..e3079d1
--- /dev/null
+++ b/ShoulderModel/EMG_based_muscle_force/muscle_contraction_dynamics.m
@@ -0,0 +1,112 @@
+function [sol f_l f_p f_v f_t tendon_length cos_alpha] = muscle_contraction_dynamics(muscle_par, activation, l_MT, initial_cond, tspan)
+%{
+function for solving the muscle dynamics, either differential equations or
+the alegbraic equilibrium equations.
+--------------------------------------------------------------------------
+Syntax :
+[sol f_l f_p f_v f_t tendon_length cos_alpha] = muscle_contraction_dynamics
+ (muscle_par, activation, l_MT, initial_cond, tspan)
+--------------------------------------------------------------------------
+Function Descriptions:
+This function solve the differential equation associated with the muscle
+contraction dynamics.
+--------------------------------------------------------------------------
+%}
+% set the initial conditions
+l_n_M0 = initial_cond;
+
+% case 1: differential equations
+% -------------------------------------------------------------------------
+% set integration properties
+odeoptions = odeset('RelTol',1e-8,'MaxStep',1e-3);
+
+% solve the differential equation
+% there are two options available, including explicit and implicit. I
+% decided to go with the implicit as it's faster and is more robost and
+% less prone to the singularities
+% sol = ode45(@(t, l_n_M) contraction_statespace(t, l_n_M, muscle_data, activation, l_MT), tspan, l_n_M0, options);
+sol = ode15i(@(t, l_n_M, v_n_M) contraction_statespace(t, l_n_M, v_n_M, muscle_par, activation, l_MT), tspan, l_n_M0, 0, odeoptions);
+
+% case 1: algebraic equilibrium equations
+% -------------------------------------------------------------------------
+% options = optimoptions('fsolve','Algorithm','trust-region-dogleg','MaxIter',1e3,'TolFun',1e-10);
+% sol = fzero(@(l_n_M) contraction_statespace(l_n_M, muscle_data, activation, l_MT), l_n_M0, options);
+
+
+% to calculate the associated forces and tendon length (not the case for
+% the equilibrium case)
+%[f_l f_p f_t f_v tendon_length cos_alpha] = force_generator(muscle_par, activation, l_MT, [sol.x; sol.y]', tspan);
+[f_l f_p f_t f_v tendon_length cos_alpha] = force_generator(muscle_par, activation, l_MT, sol, tspan);
+
+return
+
+
+% -------------------------------------------------------------------------
+% function for calculating the associated forces and tendon length
+% -------------------------------------------------------------------------
+function [f_l f_p f_t f_v tendon_length cos_alpha] = force_generator(muscle_data, activation, l_MT, sol, tspan)
+
+% take the muscle parameters
+F_0 = muscle_data(1,1);
+l_M_0 = muscle_data(1,2);
+alpha_0 = muscle_data(1,3);
+v_M_0 = muscle_data(1,4);
+l_S_0 = muscle_data(1,5);
+
+% get the time from the solution of the system dynamics
+% t = muscle_length(:,1);
+% or define an arbitrary time vector based on the tspan
+t = linspace(tspan(1), tspan(2), length(l_MT));
+
+% re-evaluate the system solution for the time vector defined above and
+% define also the v_n_M
+[muscle_length v_n_M] = deval(sol, t);
+
+% pennation angel and normalized muscle and tendon lengths
+l_M = l_M_0*muscle_length;
+
+for time_id = 1:length(l_M)
+
+ % this part of the code is a bit different comparing to the other code
+ % that I have regarding the dimension of the vectors here 1byn or nby2
+ % in the other cases.
+ l_n_M = muscle_length(1, time_id);
+
+ sin_alpha = l_M_0*sind(alpha_0)/l_M(1, time_id);
+
+ cos_alpha(time_id) = sqrt(1 - sin_alpha^2);
+
+ l_T = interp1(l_MT(:,1),l_MT(:,2),t(1, time_id)) - l_M(1, time_id)*cos_alpha(time_id);
+ % l_T = interp1(musculotendon_length(:,1),l_MT(:,1),muscle_length(time_id,1)) - l_M(time_id,1)*cos_alpha;
+ % l_T = l_S_0+l_M_0*cosd(alpha_0)+0.2*l_M_0.*sin(2*pi*t(time_id,1)) - l_M(time_id,1)*cos_alpha;
+ % l_T = l_MT - l_M(time_id,1)*cos_alpha;
+ l_n_T = l_T/l_S_0;
+
+ tendon_length(time_id) = l_n_T;
+
+ % musculotendon curve constants
+ k_l = [0.0955];%0.0082 % 0.0955
+ %k_p = [0.0758 5.2275 -0.0054];
+ %k_p = [0.1002 19.5828 -0.00378];
+ k_p = [0.0370 1.8320 -0.0239];
+ %k_t = [0.3441 23.6968 -0.0443];
+ %k_t = [0.0842 52.3663 -0.0062];
+ k_t = [0.3791 26.3570 -0.03627];
+ k_v = [1.5108 -4.9940];
+
+ % 1) muscle force-length relationship
+ f_l(time_id) = F_0*(exp((-(l_n_M - 1)^2)/k_l(1)));
+
+ % 2) muscle passive force relationship
+ f_p(time_id) = F_0*(k_p(1)*exp(k_p(2)*(l_n_M - 1))- k_p(3));
+
+ % 3) tendon force-length relationship
+ f_t(time_id) = F_0*(k_t(1)*exp(k_t(2)*(l_n_T - 1))- k_t(3));
+
+ % 4) muscle force-velocity relation
+ f_v(time_id) = F_0*(k_v(1)/(1 + exp(k_v(2)*(l_M_0/v_M_0)*v_n_M(1, time_id))));
+
+end
+
+
+return;
diff --git a/ShoulderModel/EMG_based_muscle_force/muscle_contraction_statics.m b/ShoulderModel/EMG_based_muscle_force/muscle_contraction_statics.m
new file mode 100755
index 0000000..35df827
--- /dev/null
+++ b/ShoulderModel/EMG_based_muscle_force/muscle_contraction_statics.m
@@ -0,0 +1,96 @@
+function initial_condition = muscle_contraction_statics(muscle_par, activation, l_MT, initial_guess)
+%{
+function for solving the muscle alegbraic equilibrium equations.
+--------------------------------------------------------------------------
+Syntax:
+initial_condition = muscle_contraction_statics(muscle_par, activation, l_MT, initial_guess)
+--------------------------------------------------------------------------
+Function Description:
+This function solves the muscle equilibrium equation to provide an initial
+condition for the muscle fiber length so that the response starts from a
+state that is an equilibrium to ensures the reponse will not drift away
+from the slo manifold even at the begining.
+--------------------------------------------------------------------------
+%}
+
+
+% solve the algebraic equilibrium equations
+options = optimset('Display','iter', 'TolX', 1e-10);
+
+% find the root (equilibrium)
+initial_condition = fzero(@(l_n_M) contraction_equilibria(l_n_M, muscle_par, activation,...
+ l_MT), initial_guess, options);
+
+return
+
+% -------------------------------------------------------------------------
+% function that provides algebraic equilibrium equations of the muscle
+% contraction
+% -------------------------------------------------------------------------
+
+function dl_n_Mdt = contraction_equilibria(l_n_M, muscle_par, activation, l_MT)
+%{
+
+Function for generating the muscle equilibrium equation.
+--------------------------------------------------------------------------
+Syntax :
+dl_n_Mdt = contraction_equilibria(l_n_M, muscle_par, activation, l_MT)
+--------------------------------------------------------------------------
+Function Description :
+Function that rpovides the equilibrium equations of the muscle contraction.
+--------------------------------------------------------------------------
+%}
+% muscle data
+l_M_0 = muscle_par(1,2);
+alpha_0 = muscle_par(1,3);
+v_M_0 = muscle_par(1,4); % no use for it here (static case)
+l_S_0 = muscle_par(1,5);
+
+% singularity avoidance constraints for the differntial equations
+% if le(l_n_M, max(0.4, sind(alpha_0)))
+% l_n_M = max(0.4, sind(alpha_0));
+% elseif ge(l_n_M, 1.2)
+% l_n_M = 1.2;
+% else
+% l_n_M = l_n_M;
+% end
+
+% pennation angel and normalized muscle and tendon lengths
+l_M = l_M_0*l_n_M;
+
+sin_alpha = l_M_0*sind(alpha_0)/l_M;
+
+cos_alpha = sqrt(1 - sin_alpha^2);
+
+% if l_MT is a vector
+% l_T = interp1(l_MT(:,1),l_MT(:,2),t) - l_M*cos_alpha;
+% if l_MT is a function of time
+% l_T = l_S_0+l_M_0*cosd(alpha_0)+0.2*l_M_0*sin(2*pi*t)-l_M*cos_alpha;
+% if l_MT is a constant
+l_T = l_MT - l_M*cos_alpha;
+
+l_n_T = l_T/l_S_0;
+
+% musculotendon curve constants
+k_l = [0.0955];% 0.0082 % to have a wider feasible range use 0.1558
+%k_p = [0.0758 5.2275 -0.0054];
+%k_p = [0.1002 19.5828 -0.00378];
+k_p = [0.0370 1.8320 -0.0239];% 0.0670
+%k_t = [0.3441 23.6968 -0.0443];
+%k_t = [0.0842 52.3663 -0.0062];
+k_t = [0.3791 26.3570 -0.03627];
+k_v = [1.5108 -4.9940];
+
+% 1) muscle force-length relationship
+f_l = exp((-(l_n_M - 1)^2)/k_l(1));
+
+% 2) muscle passive force relationship
+f_p = k_p(1)*exp(k_p(2)*(l_n_M - 1))- k_p(3);
+
+% 3) tendon force-length relationship
+f_t = k_t(1)*exp(k_t(2)*(l_n_T - 1))- k_t(3);
+
+% muscle dynamics (algebraic equations)
+dl_n_Mdt = f_t - (activation*f_l*k_v(1)*0.5 + f_p)*cos_alpha;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_1.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_1.mat
new file mode 100755
index 0000000..1eac373
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_1.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_10.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_10.mat
new file mode 100755
index 0000000..b9c7eed
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_10.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_11.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_11.mat
new file mode 100755
index 0000000..483dff1
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_11.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_12.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_12.mat
new file mode 100755
index 0000000..f830ce1
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_12.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_2.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_2.mat
new file mode 100755
index 0000000..214af04
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_2.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_3.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_3.mat
new file mode 100755
index 0000000..bc31a5f
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_3.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_4.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_4.mat
new file mode 100755
index 0000000..95dab38
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_4.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_5.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_5.mat
new file mode 100755
index 0000000..fa4164f
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_5.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_6.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_6.mat
new file mode 100755
index 0000000..81df364
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_6.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_7.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_7.mat
new file mode 100755
index 0000000..86208a9
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_7.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_8.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_8.mat
new file mode 100755
index 0000000..e91885d
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_8.mat differ
diff --git a/ShoulderModel/Generic_Measurements/EMG/excitation_act_9.mat b/ShoulderModel/Generic_Measurements/EMG/excitation_act_9.mat
new file mode 100755
index 0000000..a086d1d
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/EMG/excitation_act_9.mat differ
diff --git a/ShoulderModel/Generic_Measurements/InfoAboutMeasurements.txt b/ShoulderModel/Generic_Measurements/InfoAboutMeasurements.txt
new file mode 100755
index 0000000..e8db12c
--- /dev/null
+++ b/ShoulderModel/Generic_Measurements/InfoAboutMeasurements.txt
@@ -0,0 +1,12 @@
+act1: abduction frontal plane with 2 kg
+act2: elevation sagittal plane with 2 kg
+act3: abduction scapula plane with 2 kg
+act4: fast abduction scapula plane
+act5: slow abduction scapula plane
+act6: put 2 kg in a shelf at head height
+act7: hand behind the head
+act8: touch the other shoulder
+act9: french canes
+act10: counter external rotation (static pose, no motion)
+act11: counter internal rotation (static pose, no motion)
+act12: french cranes second try
diff --git a/ShoulderModel/Generic_Measurements/kinematics/arow_measured_landmarks.mat b/ShoulderModel/Generic_Measurements/kinematics/arow_measured_landmarks.mat
new file mode 100755
index 0000000..1555873
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/arow_measured_landmarks.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_1.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_1.mat
new file mode 100755
index 0000000..f270114
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_1.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_12.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_12.mat
new file mode 100755
index 0000000..bf2f5cb
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_12.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_2.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_2.mat
new file mode 100755
index 0000000..7cdf077
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_2.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_3.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_3.mat
new file mode 100755
index 0000000..60f6a55
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_3.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_4.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_4.mat
new file mode 100755
index 0000000..9c1f8b8
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_4.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_5.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_5.mat
new file mode 100755
index 0000000..bd8a56e
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_5.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_6.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_6.mat
new file mode 100755
index 0000000..d69ccdf
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_6.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_7.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_7.mat
new file mode 100755
index 0000000..709ce0c
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_7.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_8.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_8.mat
new file mode 100755
index 0000000..9983f3e
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_8.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_9.mat b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_9.mat
new file mode 100755
index 0000000..a7206f2
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/kinematics_act_9.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/lrow_measured_landmarks.mat b/ShoulderModel/Generic_Measurements/kinematics/lrow_measured_landmarks.mat
new file mode 100755
index 0000000..126d46d
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/lrow_measured_landmarks.mat differ
diff --git a/ShoulderModel/Generic_Measurements/kinematics/urow_measured_landmarks.mat b/ShoulderModel/Generic_Measurements/kinematics/urow_measured_landmarks.mat
new file mode 100755
index 0000000..c06055e
Binary files /dev/null and b/ShoulderModel/Generic_Measurements/kinematics/urow_measured_landmarks.mat differ
diff --git a/ShoulderModel/INITIALISATION_Dataset/1MAIN_INITIALISATION_build_data_dynamics_noequations.m b/ShoulderModel/INITIALISATION_Dataset/1MAIN_INITIALISATION_build_data_dynamics_noequations.m
new file mode 100755
index 0000000..949efb7
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/1MAIN_INITIALISATION_build_data_dynamics_noequations.m
@@ -0,0 +1,122 @@
+function DYDATA = 1MAIN_INITIALISATION_build_data_dynamics_noequations(REDATA, BLDATA)
+% Function for initialising the dynamic data structure only without equa.
+%--------------------------------------------------------------------------
+% Syntax :
+% DYDATA = MAIN_INITIALISATION_build_data_dynamics_noequations(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%{
+The same file as MAIN_INITIALISATION_build_data_dynamics but it does not
+calculate the equations of motion.
+It just:
+ - gives the numerical values already stored in BLDATA.Original_Points
+ to the aforesaid 10 landmarks and save them in DYDATA.
+ - gives associated numerical values to mass, moment of inertia,
+ rib-cage ellipsoides adn save them in DYDATA.
+ - the associated numerical values of q, dq, and ddq will be defined
+ later on in the force estimation files and will be saved in
+ DYDATA.JEA, DYDATA.dJEAdt, and DYDATA.d2JEAdt2.
+ - defines the data related to the GHJ stability cone and saves them
+ in the DYDATA (this data is a bit of different from the one of
+ MAIN_INITIALISATION_build_data_dynamics).
+%}
+
+%--------------------------------------------------------------------------
+
+% Initialise the output
+DYDATA = [];
+
+%--------------------------------------------------------------------------
+% CONSTRUCT THE DYDATA STRUCTURE
+%--------------------------------------------------------------------------
+%{
+To define the position of the bony landmarks in their local coordinates
+accroding to the description given in begining of the current function
+(MAIN_INITIALISATION_build_data_dynamics).
+It's just needed to have the data in one configuration. The only one we
+have so far is the original data.
+BLDATA.Original_Points: contains the position of the bony landmarks in
+the inertial frame.
+BLDATA.Original_Matrices_L2A: contains the rotation matrix from local to
+inertial coordinate.
+%}
+DYDATA.SC = BLDATA.Original_Points.SC;
+DYDATA.AC = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Original_Points.AC - BLDATA.Original_Points.SC);
+DYDATA.AA = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AA - BLDATA.Original_Points.AC);
+DYDATA.TS = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.TS - BLDATA.Original_Points.AC);
+DYDATA.AI = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AI - BLDATA.Original_Points.AC);
+DYDATA.GH = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.GH - BLDATA.Original_Points.AC);
+DYDATA.HU = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Original_Points.HU - BLDATA.Original_Points.GH);
+DYDATA.US = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Original_Points.US - BLDATA.Original_Points.HU);
+DYDATA.CP = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Original_Points.CP - BLDATA.Original_Points.HU);
+DYDATA.RS = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Original_Points.RS - BLDATA.Original_Points.CP);
+
+% Ribcage Ellipsoid Data for scapulothoracic constraints
+DYDATA.OE = REDATA.Centre;
+DYDATA.AE = [REDATA.TSaxes, REDATA.AIaxes];
+
+% Mass Parameters
+Mc = 0.156;
+Ms = 0.704;
+Mh = 2.052; % The body weight of our male subject is Mh*100/2.4 (=85.5 Kg) according to R. Dumas
+M_u = 0.9012; % not in the paper by Breteler but close to "A multibody biomechanical model of the upper limb including the shoulder girdle"
+Mr = 0.5523; % not in the paper by Breteler "
+
+DYDATA.MHand = 0;% The Radius mass can also contain a weight carried in the hand.
+DYDATA.LHand = 0;% The inertia will be MHand*LHand^2, the position from CP;
+
+% Gravitational Constant
+g = 9.81;
+
+% Inertia Parameters
+Ict = 0.001; Icl = 0.003; % from before, but I do not like them as they are not consistent with the other segments values or the portugease paper
+Ist = 0.007; Isl = 0.007; % the same as above
+Iht = 0.0165; Ihl = 0.0033; % these values are quite different that what it was before.
+Iut = 0.0060; Iul = 9.6437e-04; % defined using the SUBJECT_TOOL_Update_Weight by giving 85.5kg and 1.86 m, and the values are comparable to those of Portugease
+Irt = 0.0037; Irl = 5.9107e-04; % the same as above
+
+% ATTENTION!! One needs to apply the parallel axis theorem to be correct.
+%Iht = 1.32 + 0.612 + 0.064;
+% This works, all axes are colinear
+%Ihl = 0.199 + 0.091 + 0.019;
+
+% Inertia Data
+DYDATA.Inertia = [Mc, Ms, Mh, M_u, Mr;
+ Ict, Icl, 0 ,0 ,0;
+ Ist, Isl, 0 ,0 ,0;
+ Iht, Ihl, 0 ,0 ,0;
+ Iut, Iul, 0 ,0 ,0;
+ Irt, Irl, 0 ,0 ,0;
+ g, 0, 0 ,0 ,0];
+
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE PARAMETERS
+%--------------------------------------------------------------------------
+% Cone Scaling Factor
+Pf = 1;
+
+% Cone Base Dimensions
+Hay = 0.0108*Pf;
+Haz = 0.0142*Pf;
+
+% Set the Cone Dimensions
+DYDATA.ConeDimensions = [Hay, Haz];
+
+% Cone Base Center (In Thorax Reference System)
+DYDATA.ConeCentre = [-21.630343; -12.295269; -3.156106]/1000;
+
+% The Glenohumeral joint center is defined to be to tip of the cone with
+% the X-axis running from the GH joint center to the Cone Base center
+GH = [0; 0; 0];
+
+% Compute Reference Frame of Cone Base
+Xaxis = GH - DYDATA.ConeCentre; Xaxis = Xaxis/norm(Xaxis);
+Zaxis = [0; 0; 1]; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, Xaxis); Yaxis = Yaxis/norm(Yaxis);
+Zaxis = cross(Xaxis, Yaxis); Zaxis = Zaxis/norm(Zaxis);
+
+% Construct the Rotation Matrix
+DYDATA.Cone_Rb = [Xaxis, Yaxis, Zaxis];
+
+% Number of cutting planes representing the cone
+DYDATA.NbConstraints = 40;
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarks.dat b/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarks.dat
new file mode 100755
index 0000000..449e717
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarks.dat
@@ -0,0 +1,470 @@
+O_Subclavius
+41.173, -61.1004, 74.3713
+33.7791, -55.6192, 79.0972
+26.4003, -49.2524, 84.7164
+
+I_Subclavius
+-18.9628, -50.1496, 116.847
+-29.7979, -40.5796, 127.458
+-42.6799, -27.9017, 136.842
+
+O_SerratusAnter_Sup
+7.11473, -25.4564, 107.481
+-4.75722, -35.3436, 95.4018
+-20.0527, -43.5299, 65.8683
+
+I_SerratusAnter_Sup
+8.25269, 31.8953, 143.063
+5.57788, 45.7289, 127.897
+3.21613, 51.159, 113.152
+
+O_SerratusAnter_Mid
+-17.3633, -53.9562, 57.4158
+-19.2921, -61.5052, 36.9645
+-23.4575, -71.6023, 10.6339
+
+I_SerratusAnter_Mid
+3.02161, 51.5491, 107.424
+1.14816, 53.5467, 88.547
+1.1871, 53.6248, 72.1515
+
+O_SerratusAnter_Inf
+-27.5202, -72.6188, 8.71307
+-46.0224, -63.196, -50.196
+-29.8012, -14.2153, -112.074
+
+I_SerratusAnter_Inf
+2.53498, 53.4562, 65.4505
+3.22746, 54.1051, 32.1917
+1.22095, 46.0455, -3.41284
+
+O_Trapezius1_desc
+65.7708, 10.3614, 174.891
+62.2393, -2.54769, 189.818
+50.1239, -14.6636, 205.927
+
+I_Trapezius1_desc
+-71.4862, -14.7671, 151.693
+-56.5513, -19.5776, 149.34
+-31.2114, -35.1224, 135.334
+
+O_Trapezius2_trans1
+66.9769, 12.3058, 170.794
+61.6777, 24.7505, 156.775
+63.3608, 31.1681, 134.665
+
+I_Trapezius2_trans1
+-82.3183, -10.9279, 144.533
+-74.7731, 5.88579, 145.223
+-62.1524, 19.4738, 141.996
+
+O_Trapezius3_trans2
+67.2553, 32.248, 132.813
+66.3593, 38.6868, 110.141
+65.7197, 40.5623, 88.4139
+
+I_Trapezius3_trans2
+-59.0516, 23.1731, 141.903
+-51.0683, 33.0072, 138.195
+-38.0913, 45.7505, 133.075
+
+O_Trapezius4_ascen
+68.1699, 46.1047, 84.3377
+75.693, 36.6174, -38.6546
+82.7894, 10.3711, -148.248
+
+I_Trapezius4_ascen
+-5.60274, 53.483, 121.307
+-23.5207, 50.0347, 121.515
+-33.1462, 49.1314, 131.292
+
+O_LevatorScapula
+51.853, 1.31638, 200.204
+52.0178, -3.53246, 214.164
+50.9854, -9.48564, 226.945
+
+I_LevatorScapula
+2.38196, 48.2173, 129.524
+6.17926, 43.4184, 136.696
+5.72891, 35.7942, 144.633
+
+O_RhomboidMinor
+63.1405, 31.5971, 133.582
+62.2852, 28.3608, 145.859
+61.2229, 23.6989, 156.756
+
+I_RhomboidMinor
+1.67872, 54.076, 109.405
+1.64915, 52.702, 118.986
+5.2469, 47.0867, 128.577
+
+O_RhomboidMajor1
+62.2852, 43.1543, 84.3148
+62.2852, 40.2353, 107.307
+65.3901, 35.0595, 126.602
+
+I_RhomboidMajor1
+1.51352, 55.3088, 54.991
+0.630526, 56.3441, 82.4232
+1.32913, 54.9104, 104.071
+
+O_RhomboidMajor2
+62.2852, 45.0178, 77.3576
+62.2852, 44.7002, 56.7764
+62.2852, 42.1491, 31.193
+
+I_RhomboidMajor2
+2.41255, 56.1105, 49.7609
+2.66216, 56.03, 25.7417
+2.49325, 51.8921, -1.87031
+
+O_PectoralisMinor
+-27.2316, -67.9489, 14.084
+-29.7807, -81.8396, -21.884
+-32.5833, -90.3809, -49.9422
+
+I_PectoralisMinor
+-41.8205, -37.2758, 121.601
+-43.766, -41.4906, 119.346
+-45.2942, -45.6962, 117.464
+
+O_PectoralisMajorC
+5.53691, -71.5659, 96.3807
+25.9738, -73.8488, 84.1754
+46.6489, -74.0846, 71.3169
+
+I_PectoralisMajorC
+-88.4546, -41.0864, 13.1493
+-88.4679, -42.5038, 18.695
+-88.2362, -43.739, 26.1556
+
+O_PectoralisMajorT1
+50.6804, -73.5314, 54.6745
+66.4689, -97.4932, 20.8385
+68.8433, -109.622, -6.17647
+
+I_PectoralisMajorT1
+-88.0576, -43.5763, 24.3902
+-87.5333, -43.629, 32.291
+-88.0135, -44.1796, 39.6835
+
+O_PectoralisMajorT2
+68.8722, -111.443, -12.3006
+68.0023, -124.986, -42.6489
+34.9687, -134.484, -83.761
+
+I_PectoralisMajorT2
+-87.8911, -44.3137, 36.7488
+-87.2422, -44.9449, 45.6781
+-86.3737, -46.0198, 55.3074
+
+O_LatissimusDorsiT
+80.4946, 22.1353, -119.445
+75.3661, 32.3963, -69.0448
+69.7617, 43.0483, -8.37027
+
+I_LatissimusDorsiT
+-87.2575, -43.5928, 36.7559
+-87.915, -44.0204, 30.5379
+-88.4559, -43.8344, 25.8456
+
+O_LatissimusDorsiL
+81.3144, 19.9538, -132.042
+76.7484, -1.31682, -184.542
+74.8828, -25.2829, -245.011
+
+I_LatissimusDorsiL
+-87.2781, -43.3133, 39.7
+-86.7881, -44.378, 44.7898
+-86.7108, -45.377, 50.8744
+
+O_LatissimusDorsiI
+74.376, -28.5886, -249.775
+71.6283, -25.8211, -280.409
+66.1161, -11.8491, -315.955
+
+I_LatissimusDorsiI
+-86.4171, -45.6955, 54.0173
+-86.6599, -44.5822, 58.6471
+-86.6915, -44.6787, 64.2273
+
+O_Deltoid_Ant
+-80.6015, -32.0008, 147.986
+-61.307, -30.4397, 145.182
+-45.3779, -34.5302, 140.08
+
+I_Deltoid_Ant
+-97.6745, -42.7484, -40.1479
+-97.4316, -42.7558, -31.0706
+-97.5544, -41.8031, -21.0644
+
+O_Deltoid_Mid
+-86.1159, -36.6617, 142.546
+-102.061, -30.7953, 136.712
+-104.169, -0.870796, 133.897
+
+I_Deltoid_Mid
+-101.231, -40.3669, -39.3615
+-101.563, -40.2577, -31.1173
+-101.172, -39.0617, -21.062
+
+O_Deltoid_Post
+-101.618, 1.40366, 133.112
+-79.3147, 15.6423, 137.99
+-47.147, 39.7385, 128.563
+
+I_Deltoid_Post
+-104.529, -37.2547, -39.271
+-104.394, -37.4848, -30.247
+-103.658, -35.647, -20.6574
+
+O_Supraspinatus
+-6.05771, 37.0384, 127.702
+-3.07993, 25.0142, 136.136
+-5.75559, 13.9878, 145.488
+
+I_Supraspinatus
+-107.568, -44.3173, 112.798
+-102.937, -51.0285, 114.66
+-96.6379, -55.0339, 114.903
+
+O_Infraspinatus
+-10.0897, 47.3045, 109.304
+-9.06789, 52.0096, 63.59
+-5.93623, 52.7654, 15.5461
+
+I_Infraspinatus
+-110.26, -40.1495, 112.134
+-110.124, -31.2999, 109.407
+-105.764, -25.4884, 101.054
+
+O_Subscapularis
+-1.72675, 26.6173, 130.33
+-4.00714, 49.4545, 92.4763
+-3.88998, 43.5291, -1.33627
+
+I_Subscapularis
+-69.442, -49.5087, 106.77
+-67.8108, -45.8738, 100.249
+-70.8628, -44.2468, 93.2889
+
+O_TeresMinor
+-57.115, 10.7403, 74.1963
+-46.634, 22.2325, 55.628
+-35.8198, 31.9011, 26.0915
+
+I_TeresMinor
+-103.808, -26.6255, 97.5774
+-100.926, -29.5764, 91.2362
+-100.228, -32.1254, 83.7147
+
+O_TeresMajor
+-33.8561, 33.6295, 27.9485
+-23.112, 40.3727, 9.75702
+-10.8262, 48.3963, -2.92881
+
+I_TeresMajor
+-90.6108, -23.6892, 65.1377
+-89.9696, -22.4911, 54.8011
+-88.9003, -21.5665, 43.4691
+
+O_Coracobrachialis
+-58.3038, -51.0917, 113.934
+-53.417, -52.4021, 114.229
+-48.7533, -50.1628, 114.264
+
+I_Coracobrachialis
+-86.3336, -38.074, 3.02071
+-86.9643, -37.3976, -8.87327
+-88.0262, -35.5948, -21.3679
+
+V_B_Deltoid_Ant
+-104.981, -52.4835, 5.77026
+-102.188, -55.7124, 5.77028
+-99.3061, -58.1194, 5.77028
+
+V_B_Deltoid_Mid
+-108.1, -49.132, 5.77026
+-110.973, -44.9397, 5.77026
+-113.331, -41.3741, 5.77026
+
+V_A_Deltoid_Mid
+-87.7647, -51.9564, 136.929
+-107.083, -38.5449, 135.646
+-119.672, -14.9935, 135.803
+
+V_B_Deltoid_Post
+-115.006, -37.7201, 5.77026
+-116.175, -32.5374, 5.77026
+-116.148, -27.145, 5.77026
+
+V_A_Deltoid_Post
+-113.915, -4.26598, 125.835
+-97.3718, 15.1501, 126.239
+-78.2242, 28.0691, 115.927
+
+V_B_Supraspinatus
+-103.423, -39.89, 123.895
+-99.9952, -45.1298, 123.895
+-95.1478, -50.1125, 123.895
+
+V_A_Supraspinatus
+-46.5189, 13.5646, 124.803
+-41.7932, 0.628769, 131.784
+-37.0399, -12.3826, 133.254
+
+V_A_Infraspinatus
+-71.5944, 11.642, 126.2
+-71.5944, 12.3856, 99.5803
+-71.5944, 5.33549, 72.1472
+
+V_A_Subscapularis
+-30.8899, -2.56194, 112.973
+-36.89, 1.91854, 95.5674
+-38.585, 3.49857, 72.9275
+
+V_A_TeresMinor
+-79.7438, 7.96823, 73.4205
+-79.4, 8.05059, 60.9782
+-75.6652, 10.8711, 47.6043
+
+V_B_Coracobrachialis
+-82.8193, -36.6909, 20.1422
+-80.1118, -37.4283, 14.3329
+-76.7898, -38.2079, 7.20493
+
+Wrap_SerratusAnterior_Sup
+-3.41035 -3.66585 66.2247
+-0.483567 -0.237584 0.842447 104.639
+31.2318 31.2319 31.2318
+
+Wrap_SerratusAnterior_Mid
+-13.3597 -20.1779 19.377
+-0.542166 -0.381093 0.748882 114.642
+41.6662 41.6665 41.6661
+
+Wrap_SerratusAnterior_Inf
+12.431 -29.3376 -17.3054
+0.628115 0.534855 -0.565156 234.642
+57.0052 57.0056 57.0051
+
+Wrap_Trapezius1
+5.61307 -7.94112 188.466
+-0.205057 0.977225 0.0546144 264.218
+32.615 32.6153 32.6149
+
+Wrap_Trapezius11
+-42.8163 -15.1773 144.27
+-0.619755 0.731963 -0.283078 245.968
+12.5046 12.5047 12.5045
+
+Wrap_Trapezius2
+23.2983 -7.55236 137.964
+0.208872 0.927457 -0.310155 257.628
+38.0763 38.0766 38.0759
+
+Wrap_Trapezius3
+10.0585 17.3398 105.87
+0.424923 0.76586 -0.482595 244.491
+47.8416 47.8421 47.8414
+
+Wrap_Trapezius4
+29.244 -9.3936 -13.9848
+-0.555723 -0.565849 0.609087 131.064
+60.7984 60.7988 60.7981
+
+Wrap_RhomboidMajor1
+25.0178 10.1227 94.8511
+0.503919 0.627435 -0.593625 238.42
+45.1111 45.1113 45.1108
+
+Wrap_RhomboidMajor2
+24.762 12.3363 44.4951
+-0.538716 -0.569895 0.620488 127.192
+45.1111 45.1114 45.1108
+
+Wrap_PectoralisMajorC
+-13.819 -43.0998 42.6683
+0.645906 0.490759 -0.584774 205.775
+39.3665 39.3667 39.3661
+
+Wrap_PectoralisMajorT1
+5.45804 -49.7656 8.49732
+0.587134 -0.700465 -0.405736 94.7225
+51.7892 51.7895 51.7887
+
+Wrap_PectoralisMajorT2
+14.7641 -62.8752 -40.3125
+0.525922 -0.560617 -0.639621 93.704
+59.9068 59.9071 59.9062
+
+Wrap_LatissimusDorsiT1
+15.6892 -14.8263 -61.0633
+-0.59537 0.646184 0.477473 245.195
+63.4398 63.4401 63.439
+
+Wrap_LatissimusDorsiT2
+-88.0434 -27.1301 31.952
+0.636137 -0.534533 0.556421 240.311
+13.6148 13.6149 13.6147
+
+Wrap_LatissimusDorsiL1
+9.03792 -64.2 -179.098
+0.617343 -0.489399 0.615935 229.55
+72.1533 72.1537 72.1525
+
+Wrap_LatissimusDorsiL2
+-86.2778 -25.6039 43.7062
+0.656398 -0.555744 0.510186 235.66
+13.6148 13.6149 13.6146
+
+Wrap_LatissimusDorsiI1
+7.08183 -64.8476 -140.365
+0.625326 -0.510242 0.590441 227.261
+84.0771 84.0776 84.0761
+
+Wrap_LatissimusDorsiI2
+-84.1357 -28.9095 55.0606
+0.626135 -0.610863 0.484564 239.248
+13.6148 13.6149 13.6146
+
+Wrap_Deltoid_Ant
+-74.2204 -35.3699 99.4869
+-0.655672 0.736026 0.168405 206.332
+36.5999 36.6003 36.5996
+
+Wrap_Deltoid_Mid
+-93.3558 -34.0485 108.668
+0.555185 0.479447 0.679632 121.526
+27.6994 27.6996 27.699
+
+Wrap_Deltoid_Post
+-95.4139 -31.8447 108.692
+0.502005 0.554321 0.663867 110.562
+29.0486 29.0488 29.0482
+
+Wrap_Supraspinatus
+-85.3005 -34.1928 110.134
+-0.326578 0.865877 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Infraspinatus
+-87.4601 -31.7053 109.613
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Subscapularis
+-71.8228 -18.7317 100.961
+-0.326577 0.865878 0.378949 93.2911
+20.9579 20.958 20.9576
+
+Wrap_TeresMinor
+-79.6975 -21.8557 79.1755
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.9579 20.9576
+
+Wrap_TeresMajor
+-30.1763 -8.57632 57.0835
+0.876527 -0.3727 0.304624 245.701
+44.0821 44.0823 44.0814
+
diff --git a/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarksold.dat b/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarksold.dat
new file mode 100755
index 0000000..8c4591e
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/AnatomicLandmarksold.dat
@@ -0,0 +1,470 @@
+O_Subclavius
+41.173, -61.1004, 74.3713
+33.7791, -55.6192, 79.0972
+26.4003, -49.2524, 84.7164
+
+I_Subclavius
+-18.9628, -50.1496, 116.847
+-29.7979, -40.5796, 127.458
+-42.6799, -27.9017, 136.842
+
+O_SerratusAnter_Sup
+7.11473, -25.4564, 107.481
+-4.75722, -35.3436, 95.4018
+-20.0527, -43.5299, 65.8683
+
+I_SerratusAnter_Sup
+8.25269, 31.8953, 143.063
+5.57788, 45.7289, 127.897
+3.21613, 51.159, 113.152
+
+O_SerratusAnter_Mid
+-17.3633, -53.9562, 57.4158
+-19.2921, -61.5052, 36.9645
+-23.4575, -71.6023, 10.6339
+
+I_SerratusAnter_Mid
+3.02161, 51.5491, 107.424
+1.14816, 53.5467, 88.547
+1.1871, 53.6248, 72.1515
+
+O_SerratusAnter_Inf
+-27.5202, -72.6188, 8.71307
+-46.0224, -63.196, -50.196
+-29.8012, -14.2153, -112.074
+
+I_SerratusAnter_Inf
+2.53498, 53.4562, 65.4505
+3.22746, 54.1051, 32.1917
+1.22095, 46.0455, -3.41284
+
+O_Trapezius1_desc
+65.7708, 10.3614, 174.891
+62.2393, -2.54769, 189.818
+50.1239, -14.6636, 205.927
+
+I_Trapezius1_desc
+-73.6104, -17.9295, 152.491
+-54.7742, -26.0426, 147.539
+-33.4978, -33.3949, 137.655
+
+O_Trapezius2_trans1
+66.9769, 12.3058, 170.794
+61.6777, 24.7505, 156.775
+63.3608, 31.1681, 134.665
+
+I_Trapezius2_trans1
+-82.3183, -10.9279, 144.533
+-74.7731, 5.88579, 145.223
+-62.1524, 19.4738, 141.996
+
+O_Trapezius3_trans2
+67.2553, 32.248, 132.813
+66.3593, 38.6868, 110.141
+65.7197, 40.5623, 88.4139
+
+I_Trapezius3_trans2
+-59.0516, 23.1731, 141.903
+-51.0683, 33.0072, 138.195
+-38.0913, 45.7505, 133.075
+
+O_Trapezius4_ascen
+68.1699, 46.1047, 84.3377
+75.693, 36.6174, -38.6546
+82.7894, 10.3711, -148.248
+
+I_Trapezius4_ascen
+-5.60274, 53.483, 121.307
+-23.5207, 50.0347, 121.515
+-33.1462, 49.1314, 131.292
+
+O_LevatorScapula
+51.853, 1.31638, 200.204
+52.0178, -3.53246, 214.164
+50.9854, -9.48564, 226.945
+
+I_LevatorScapula
+2.38196, 48.2173, 129.524
+6.17926, 43.4184, 136.696
+5.72891, 35.7942, 144.633
+
+O_RhomboidMinor
+63.1405, 31.5971, 133.582
+62.2852, 28.3608, 145.859
+61.2229, 23.6989, 156.756
+
+I_RhomboidMinor
+1.67872, 54.076, 109.405
+1.64915, 52.702, 118.986
+5.2469, 47.0867, 128.577
+
+O_RhomboidMajor1
+62.2852, 43.1543, 84.3148
+62.2852, 40.2353, 107.307
+65.3901, 35.0595, 126.602
+
+I_RhomboidMajor1
+1.51352, 55.3088, 54.991
+0.630526, 56.3441, 82.4232
+1.32913, 54.9104, 104.071
+
+O_RhomboidMajor2
+62.2852, 45.0178, 77.3576
+62.2852, 44.7002, 56.7764
+62.2852, 42.1491, 31.193
+
+I_RhomboidMajor2
+2.41255, 56.1105, 49.7609
+2.66216, 56.03, 25.7417
+2.49325, 51.8921, -1.87031
+
+O_PectoralisMinor
+-27.2316, -67.9489, 14.084
+-29.7807, -81.8396, -21.884
+-32.5833, -90.3809, -49.9422
+
+I_PectoralisMinor
+-41.8205, -37.2758, 121.601
+-43.766, -41.4906, 119.346
+-45.2942, -45.6962, 117.464
+
+O_PectoralisMajorC
+5.53691, -71.5659, 96.3807
+25.9738, -73.8488, 84.1754
+46.6489, -74.0846, 71.3169
+
+I_PectoralisMajorC
+-88.4546, -41.0864, 13.1493
+-88.4679, -42.5038, 18.695
+-88.2362, -43.739, 26.1556
+
+O_PectoralisMajorT1
+50.6804, -73.5314, 54.6745
+66.4689, -97.4932, 20.8385
+68.8433, -109.622, -6.17647
+
+I_PectoralisMajorT1
+-88.0576, -43.5763, 24.3902
+-87.5333, -43.629, 32.291
+-88.0135, -44.1796, 39.6835
+
+O_PectoralisMajorT2
+68.8722, -111.443, -12.3006
+68.0023, -124.986, -42.6489
+34.9687, -134.484, -83.761
+
+I_PectoralisMajorT2
+-87.8911, -44.3137, 36.7488
+-87.2422, -44.9449, 45.6781
+-86.3737, -46.0198, 55.3074
+
+O_LatissimusDorsiT
+80.4946, 22.1353, -119.445
+75.3661, 32.3963, -69.0448
+69.7617, 43.0483, -8.37027
+
+I_LatissimusDorsiT
+-87.2575, -43.5928, 36.7559
+-87.915, -44.0204, 30.5379
+-88.4559, -43.8344, 25.8456
+
+O_LatissimusDorsiL
+81.3144, 19.9538, -132.042
+76.7484, -1.31682, -184.542
+74.8828, -25.2829, -245.011
+
+I_LatissimusDorsiL
+-87.2781, -43.3133, 39.7
+-86.7881, -44.378, 44.7898
+-86.7108, -45.377, 50.8744
+
+O_LatissimusDorsiI
+74.376, -28.5886, -249.775
+71.6283, -25.8211, -280.409
+66.1161, -11.8491, -315.955
+
+I_LatissimusDorsiI
+-86.4171, -45.6955, 54.0173
+-86.6599, -44.5822, 58.6471
+-86.6915, -44.6787, 64.2273
+
+O_Deltoid_Ant
+-80.6015, -32.0008, 147.986
+-61.307, -30.4397, 145.182
+-45.3779, -34.5302, 140.08
+
+I_Deltoid_Ant
+-97.6745, -42.7484, -40.1479
+-97.4316, -42.7558, -31.0706
+-97.5544, -41.8031, -21.0644
+
+O_Deltoid_Mid
+-86.1159, -36.6617, 142.546
+-102.061, -30.7953, 136.712
+-104.169, -0.870796, 133.897
+
+I_Deltoid_Mid
+-101.231, -40.3669, -39.3615
+-101.563, -40.2577, -31.1173
+-101.172, -39.0617, -21.062
+
+O_Deltoid_Post
+-101.618, 1.40366, 133.112
+-79.3147, 15.6423, 137.99
+-47.147, 39.7385, 128.563
+
+I_Deltoid_Post
+-104.529, -37.2547, -39.271
+-104.394, -37.4848, -30.247
+-103.658, -35.647, -20.6574
+
+O_Supraspinatus
+-6.05771, 37.0384, 127.702
+-3.07993, 25.0142, 136.136
+-5.75559, 13.9878, 145.488
+
+I_Supraspinatus
+-107.568, -44.3173, 112.798
+-102.937, -51.0285, 114.66
+-96.6379, -55.0339, 114.903
+
+O_Infraspinatus
+-10.0897, 47.3045, 109.304
+-9.06789, 52.0096, 63.59
+-5.93623, 52.7654, 15.5461
+
+I_Infraspinatus
+-110.26, -40.1495, 112.134
+-110.124, -31.2999, 109.407
+-105.764, -25.4884, 101.054
+
+O_Subscapularis
+-1.72675, 26.6173, 130.33
+-4.00714, 49.4545, 92.4763
+-3.88998, 43.5291, -1.33627
+
+I_Subscapularis
+-69.442, -49.5087, 106.77
+-67.8108, -45.8738, 100.249
+-70.8628, -44.2468, 93.2889
+
+O_TeresMinor
+-57.115, 10.7403, 74.1963
+-46.634, 22.2325, 55.628
+-35.8198, 31.9011, 26.0915
+
+I_TeresMinor
+-103.808, -26.6255, 97.5774
+-100.926, -29.5764, 91.2362
+-100.228, -32.1254, 83.7147
+
+O_TeresMajor
+-33.8561, 33.6295, 27.9485
+-23.112, 40.3727, 9.75702
+-10.8262, 48.3963, -2.92881
+
+I_TeresMajor
+-90.6108, -23.6892, 65.1377
+-89.9696, -22.4911, 54.8011
+-88.9003, -21.5665, 43.4691
+
+O_Coracobrachialis
+-58.3038, -51.0917, 113.934
+-53.417, -52.4021, 114.229
+-48.7533, -50.1628, 114.264
+
+I_Coracobrachialis
+-86.3336, -38.074, 3.02071
+-86.9643, -37.3976, -8.87327
+-88.0262, -35.5948, -21.3679
+
+V_B_Deltoid_Ant
+-104.981, -52.4835, 5.77026
+-102.188, -55.7124, 5.77028
+-99.3061, -58.1194, 5.77028
+
+V_B_Deltoid_Mid
+-108.1, -49.132, 5.77026
+-110.973, -44.9397, 5.77026
+-113.331, -41.3741, 5.77026
+
+V_A_Deltoid_Mid
+-87.7647, -51.9564, 136.929
+-107.083, -38.5449, 135.646
+-119.672, -14.9935, 135.803
+
+V_B_Deltoid_Post
+-115.006, -37.7201, 5.77026
+-116.175, -32.5374, 5.77026
+-116.148, -27.145, 5.77026
+
+V_A_Deltoid_Post
+-113.915, -4.26598, 125.835
+-97.3718, 15.1501, 126.239
+-78.2242, 28.0691, 115.927
+
+V_B_Supraspinatus
+-103.423, -39.89, 123.895
+-99.9952, -45.1298, 123.895
+-95.1478, -50.1125, 123.895
+
+V_A_Supraspinatus
+-46.5189, 13.5646, 124.803
+-41.7932, 0.628769, 131.784
+-37.0399, -12.3826, 133.254
+
+V_A_Infraspinatus
+-71.5944, 11.642, 126.2
+-71.5944, 12.3856, 99.5803
+-71.5944, 5.33549, 72.1472
+
+V_A_Subscapularis
+-30.8899, -2.56194, 112.973
+-36.89, 1.91854, 95.5674
+-38.585, 3.49857, 72.9275
+
+V_A_TeresMinor
+-79.7438, 7.96823, 73.4205
+-79.4, 8.05059, 60.9782
+-75.6652, 10.8711, 47.6043
+
+V_B_Coracobrachialis
+-82.8193, -36.6909, 20.1422
+-80.1118, -37.4283, 14.3329
+-76.7898, -38.2079, 7.20493
+
+Wrap_SerratusAnterior_Sup
+-3.41035 -3.66585 66.2247
+-0.483567 -0.237584 0.842447 104.639
+31.2318 31.2319 31.2318
+
+Wrap_SerratusAnterior_Mid
+-13.3597 -20.1779 19.377
+-0.542166 -0.381093 0.748882 114.642
+41.6662 41.6665 41.6661
+
+Wrap_SerratusAnterior_Inf
+12.431 -29.3376 -17.3054
+0.628115 0.534855 -0.565156 234.642
+57.0052 57.0056 57.0051
+
+Wrap_Trapezius1
+5.61307 -7.94112 188.466
+-0.205057 0.977225 0.0546144 264.218
+32.615 32.6153 32.6149
+
+Wrap_Trapezius11
+-42.8163 -15.1773 144.27
+-0.619755 0.731963 -0.283078 245.968
+12.5046 12.5046 12.5045
+
+Wrap_Trapezius2
+23.2983 -7.55236 137.964
+0.208872 0.927457 -0.310155 257.628
+38.0763 38.0766 38.0759
+
+Wrap_Trapezius3
+10.0585 17.3398 105.87
+0.424923 0.76586 -0.482595 244.491
+47.8416 47.8421 47.8414
+
+Wrap_Trapezius4
+29.244 -9.3936 -13.9848
+-0.555723 -0.565849 0.609087 131.064
+60.7984 60.7988 60.7981
+
+Wrap_RhomboidMajor1
+25.0178 10.1227 94.8511
+0.503919 0.627435 -0.593625 238.42
+45.1111 45.1113 45.1108
+
+Wrap_RhomboidMajor2
+24.762 12.3363 44.4951
+-0.538716 -0.569895 0.620488 127.192
+45.1111 45.1114 45.1108
+
+Wrap_PectoralisMajorC
+-13.819 -43.0998 42.6683
+0.645906 0.490759 -0.584774 205.775
+39.3665 39.3667 39.3661
+
+Wrap_PectoralisMajorT1
+5.45804 -49.7656 8.49732
+0.587134 -0.700465 -0.405736 94.7225
+51.7892 51.7895 51.7887
+
+Wrap_PectoralisMajorT2
+14.7641 -62.8752 -40.3125
+0.525922 -0.560617 -0.639621 93.704
+59.9068 59.9071 59.9062
+
+Wrap_LatissimusDorsiT1
+15.6892 -14.8263 -61.0633
+-0.59537 0.646184 0.477473 245.195
+63.4398 63.4401 63.439
+
+Wrap_LatissimusDorsiT2
+-88.0434 -27.1301 31.952
+0.636137 -0.534533 0.556421 240.311
+13.6148 13.6149 13.6147
+
+Wrap_LatissimusDorsiL1
+9.03792 -64.2 -179.098
+0.617343 -0.489399 0.615935 229.55
+72.1533 72.1537 72.1525
+
+Wrap_LatissimusDorsiL2
+-86.2778 -25.6039 43.7062
+0.656398 -0.555744 0.510186 235.66
+13.6148 13.6149 13.6146
+
+Wrap_LatissimusDorsiI1
+7.08183 -64.8476 -140.365
+0.625326 -0.510242 0.590441 227.261
+84.0771 84.0776 84.0761
+
+Wrap_LatissimusDorsiI2
+-84.1357 -28.9095 55.0606
+0.626135 -0.610863 0.484564 239.248
+13.6148 13.6149 13.6146
+
+Wrap_Deltoid_Ant
+-74.2204 -35.3699 99.4869
+-0.655672 0.736026 0.168405 206.332
+36.5999 36.6003 36.5996
+
+Wrap_Deltoid_Mid
+-93.3558 -34.0485 108.668
+0.555185 0.479447 0.679632 121.526
+27.6994 27.6996 27.699
+
+Wrap_Deltoid_Post
+-95.4139 -31.8447 108.692
+0.502005 0.554321 0.663867 110.562
+29.0486 29.0488 29.0482
+
+Wrap_Supraspinatus
+-85.3005 -34.1928 110.134
+-0.326578 0.865877 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Infraspinatus
+-87.4601 -31.7053 109.613
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Subscapularis
+-71.8228 -18.7317 100.961
+-0.326577 0.865878 0.378949 93.2911
+20.9579 20.958 20.9576
+
+Wrap_TeresMinor
+-79.6975 -21.8557 79.1755
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.9579 20.9576
+
+Wrap_TeresMajor
+-30.1763 -8.57632 57.0835
+0.876527 -0.3727 0.304624 245.701
+44.0821 44.0823 44.0814
+
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_3D_meshing.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_3D_meshing.m
new file mode 100755
index 0000000..4e9b5d0
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_3D_meshing.m
@@ -0,0 +1,103 @@
+function MEDATA = MAIN_INITIALISATION_build_data_3D_meshing()
+%{
+Function to initialise the 3D bone meshing.
+--------------------------------------------------------------------------
+Syntax :
+MEDATA = MAIN_INITIALISATION_build_data_3D_meshing()
+--------------------------------------------------------------------------
+
+File Description:
+The function loads the meshing data of the bones in *.mat format from
+Visualisation_Original_Meshings and saves them into MEDATA following the
+below general format. The meshing data were achieved from AMIRA and
+presented in the bone fixed frame of each of the bones.
+ MEDATA.Thorax_Mesh.tri
+ MEDATA.Thorax_Mesh.points
+ MEDATA.Clavicula_Mesh.tri
+ MEDATA.Clavicula_Mesh.points
+ MEDATA.Scapula_Mesh.tri
+ MEDATA.Scapula_Mesh.points
+ MEDATA.Humerus_Mesh.tri
+ MEDATA.Humerus_Mesh.points
+ MEDATA.Ulna_Mesh.tri
+ MEDATA.Ulna_Mesh.points
+ MEDATA.Radius_Mesh.tri
+ MEDATA.Radius_Mesh.points
+notes:
+*.points contains the geometric location of the points forming the
+mehsing.
+*.tri contains the connectivity table to build the meshing using MATLAB's
+trisurf function.
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+MEDATA = [];
+
+%--------------------------------------------------------------------------
+% LOAD INDIVIDUAL MESH DATA [from the folder: Visualisation_Original_Meshings]
+%--------------------------------------------------------------------------
+% Get the Current Folder
+Current_Folder = pwd;% pwd displays the MATLAB current folder.
+%CurrentFolder = pwd returns the current folder as a string to Current_Folder.
+
+% Differentiate between unix and non-unix
+if isunix
+ load([Current_Folder, '/Visualisation_Original_Meshings/Thorax_Mesh0']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Clavicula_Mesh0']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Scapula_Mesh0']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Humerus_Mesh0']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Ulna_Mesh_Try32']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Radius_Mesh_Try32']);
+ load([Current_Folder, '/Visualisation_Original_Meshings/Hand_Mesh_Try2']);
+
+else
+ load([Current_Folder, '\Visualisation_Original_Meshings\Thorax_Mesh0']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Clavicula_Mesh0']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Scapula_Mesh0']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Humerus_Mesh0']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Ulna_Mesh_Try32']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Radius_Mesh_Try32']);
+ load([Current_Folder, '\Visualisation_Original_Meshings\Hand_Mesh_Try2']);
+
+end
+
+%--------------------------------------------------------------------------
+% CREATE A DATA STRUCTURE WITH ALL MESHINGS
+%--------------------------------------------------------------------------
+% Thorax Frame, No Modification Will Be required
+MEDATA.Thorax_Mesh.tri = Thorax_Mesh0.tri;
+% Scale data into mm
+MEDATA.Thorax_Mesh.points = 1.e3*Thorax_Mesh0.points;
+
+% Defined in Clavicula frame centred at SC joint
+MEDATA.Clavicula_Mesh.tri = Clavicula_Mesh0.tri;
+% Scale data into mm
+MEDATA.Clavicula_Mesh.points = 1.e3*Clavicula_Mesh0.points;
+
+% Defined in Scapula frame centred at AA point [or AC joint?]
+MEDATA.Scapula_Mesh.tri = Scapula_Mesh0.tri;
+% Scale data into mm
+MEDATA.Scapula_Mesh.points = 1.e3*Scapula_Mesh0.points;
+
+% Defined in Humerus frame centred at GH joint
+MEDATA.Humerus_Mesh.tri = Humerus_Mesh0.tri;
+% Scale data into mm
+MEDATA.Humerus_Mesh.points = 1.e3*Humerus_Mesh0.points;
+
+% Defined in Ulna frame centred at HU joint (the HU point is the same)
+MEDATA.Ulna_Mesh.tri = Ulna_Mesh_Try3.tri;%Ulna_Mesh0
+% Scale data into mm
+MEDATA.Ulna_Mesh.points = Ulna_Mesh_Try3.points;%1.e3*
+
+% Defined in Radius frame centred at CP point
+MEDATA.Radius_Mesh.tri = Radius_Mesh_Try3.tri;%Radius_Mesh0
+% Scale data into mm
+MEDATA.Radius_Mesh.points = Radius_Mesh_Try3.points;%1.e3*
+
+% Defined in Radius frame centred at CP point
+MEDATA.Hand_Mesh.tri = Hand_Mesh_Try2.tri;%Radius_Mesh0
+% Scale data into mm
+MEDATA.Hand_Mesh.points = Hand_Mesh_Try2.points;%1.e3*
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_bony_landmark.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_bony_landmark.m
new file mode 100755
index 0000000..6faf816
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_bony_landmark.m
@@ -0,0 +1,380 @@
+
+function BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+% Function to initialise the bony landmark dataset
+%--------------------------------------------------------------------------
+% Syntax :
+% BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function includes the bony landmarks received from
+AMIRA and transforms them into BLDATA.Original_Points.
+It also:
+
+ 1- defines the rotation matrix from AMIRA to MATLAB:
+ BLDATA.Amira_to_MATLAB.Rt = R_am
+
+ 2- sets the initial and current points to the original points to
+ initialize the code.
+ BLDATA.Original_Points ----> BLDATA.Initial_Points
+ BLDATA.Original_Points ----> BLDATA.Current_Points
+
+ 3- defines the original rotation matrices of the bones fixed frames
+ and also sets the initial and current ones to original:
+ BLDATA.Original_Matrices_L2A,
+ BLDATA.Initial_Matrices_L2A,
+ BLDATA.Current_Matrices_L2A
+
+ 4- saves the points needed to plot the wireframes of the bones:
+ BLDATA.Original_WFBones,
+ BLDATA.Initial_WFBones,
+ BLDATA.Current_WFBones
+
+ Garner & Pandy Scapular reference frame to compare moment arms and
+ validate
+ BLDATA.Original_GnP.Rs
+ BLDATA.Initial_GnP.Rs
+ BLDATA.Current_GnP.Rs
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+BLDATA = [];
+
+
+%--------------------------------------------------------------------------
+% BONY LANDMARKS IN AMIRA REFERENCE FRAME
+%--------------------------------------------------------------------------
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = [ 56.6771; -69.2782; 72.7629]; % Sternoclaviuclar joint
+%SC= [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = [ -82.2127; -25.2576; 148.444]; % Sternoclaviuclar joint
+%AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+%GH = [ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+GH = [-84.5443; -33.5688; 106.6692]; % Glenohumeral joint constructed with no subluxation
+HU = [ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint= 0.5(EM+EL)
+%TS = [ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+TS = [-1.585891723632813e+000; 5.131806945800781e+001; 1.226403579711914e+002]; % new values from Yasmine 1Aug2018
+%AI = [ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+AI = [-4.471809387207031e+000; 4.468699645996094e+001; -8.649490356445313e+000]; % new values from Yasmine 1Aug2018
+AA = [ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+EL = [ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+EM = [ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+%CP = [ -117.9780; 20.2045; -201.1550]; %Capitulum center
+CP = [ -119.7196; -47.9465; -207.6489]; %Capitulum center
+%US = [ -119.1449; -32.0329; -459.3816]; %Ulna Styloid
+%%%%US = [-8.112e+001; -1.278e+001; -4.720e+002]; %Ulna Styloid
+US = [-95.6657; -160.7194; -450.9589];
+%RS = [ -80.0832; -17.1580; -471.3330]; %Radius Styloid
+%%%%RS = [-1.217e+002; -1.615e+001; -4.655e+002 ];%Radius Styloid
+RS = [-62.2966; -134.5104; -464.3826];
+SN = [-5.834277343750000e+001; 1.268512725830078e+000; 1.163459472656250e+002]; % Spino-glenoid Notch
+S1 = [-4.437187576293945e+001; 1.044776678085327e+000; 1.171667938232422e+002]; % the most lateral point on the supraspinatus fossa
+S2 = [-2.524987030029297e+001; 3.014913558959961e+001; 1.212621765136719e+002]; % one of the other 4 points on the supraspinatus fossa
+S3 = [-4.073601150512695e+001; 9.907344818115234e+000; 1.174581298828125e+002]; % one of the other 4 points on the supraspinatus fossa
+S4 = [-3.028522109985352e+001; 2.512048149108887e+001; 1.201423034667969e+002]; % one of the other 4 points on the supraspinatus fossa
+S5 = [-3.626570129394531e+001; 1.977687454223633e+001; 1.190045471191406e+002]; % one of the other 4 points on the supraspinatus fossa
+GC_sa = [-6.4111; -8.4591; 19.7584]; % glenoid fossa center in secondary scapula coordinate system
+%--------------------------------------------------------------------------
+% BUILD AMIRA TO MATLAB HOMOGENEOUS TRANFORMATION & TRANSFORM ALL POINTS
+%--------------------------------------------------------------------------
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]'; %R_am=R_matlab', which means
+%R_matlab map the points in matlab to AMIRA. For instance if you think
+%about R_matlab*[1 0 0]' it returns the associated vector (point) related
+%to the x axis of matlab in amira. Obviously it will be the first column of
+%the R_matlab.
+
+% Homogeneous transformation Matrix which maps a point in AMIRA to matlab
+% coordinate system
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+%--------------------------------------------------------------------------
+% SAVE THE AMIRA TO MATLAB HOMEGENEOUS TRANSFORMATON
+%--------------------------------------------------------------------------
+BLDATA.Amira_to_MATLAB.Rt = R_am;
+BLDATA.Amira_to_MATLAB.IJ = IJ;
+
+% Transform all points to MATLAB reference frame and then get rid of the
+% homegeneous part
+IJ = H_am*[IJ; 1]; IJ = IJ(1:3,1);
+PX = H_am*[PX; 1]; PX = PX(1:3,1);
+T8 = H_am*[T8; 1]; T8 = T8(1:3,1);
+C7 = H_am*[C7; 1]; C7 = C7(1:3,1);
+SC = H_am*[SC; 1]; SC = SC(1:3,1);
+AC = H_am*[AC; 1]; AC = AC(1:3,1);
+GH = H_am*[GH; 1]; GH = GH(1:3,1);
+HU = H_am*[HU; 1]; HU = HU(1:3,1);
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+AA = H_am*[AA; 1]; AA = AA(1:3,1);
+EL = H_am*[EL; 1]; EL = EL(1:3,1);
+EM = H_am*[EM; 1]; EM = EM(1:3,1);
+CP = H_am*[CP; 1]; CP = CP(1:3,1);
+US = H_am*[US; 1]; US = US(1:3,1);
+RS = H_am*[RS; 1]; RS = RS(1:3,1);
+SN = H_am*[SN; 1]; SN = SN(1:3,1);
+S1 = H_am*[S1; 1]; S1 = S1(1:3,1);
+S2 = H_am*[S2; 1]; S2 = S2(1:3,1);
+S3 = H_am*[S3; 1]; S3 = S3(1:3,1);
+S4 = H_am*[S4; 1]; S4 = S4(1:3,1);
+S5 = H_am*[S5; 1]; S5 = S5(1:3,1);
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONE REFERENCE FRAME ROTATION MATRICES
+%--------------------------------------------------------------------------
+
+% Clavicula to Thorax Rotation Matrix
+Xc = AC - SC; Xc = Xc/norm(Xc);
+Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+% Scapula to Thorax Rotation Matrix
+Xs = AA - TS; Xs = Xs/norm(Xs);
+Ys = cross(Xs, AI - TS); Ys = Ys/norm(Ys);
+Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+% Humerus to Thorax Rotation Matrix
+Zh = GH - HU; Zh = Zh/norm(Zh);
+Yh = cross(GH - EL, EL - EM); Yh = Yh/norm(Yh);
+Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+Rh = [Xh, Yh, Zh]; % Local -> absolute
+
+% Ulna to Thorax Rotation Matrix
+% first choice of segment coordinate for the Ulna
+% Zu = (EM + EL)/2 - US; Zu = Zu/norm(Zu);
+% Yu = cross(US - EL, EL - EM); Yu = Yu/norm(Yu);
+% Xu = cross(Yu, Zu); Xu = Xu/norm(Xu);
+% Ru = [Xu, Yu, Zu]; % Local -> absolute
+% second choice
+Xu = EL - HU; Xu = Xu/norm(Xu);
+Yu = cross(US - EL, EM - EL); Yu = Yu/norm(Yu);
+Zu = cross(Xu, Yu); Zu = Zu/norm(Zu);
+Ru = [Xu, Yu, Zu]; % Local -> absolute
+
+% Radius to Thorax Rotation Matrix
+Zr = CP - US; Zr = Zr/norm(Zr);
+Yr = cross(CP - RS, RS - US); Yr = Yr/norm(Yr);
+Xr = cross(Yr, Zr); Xr = Xr/norm(Xr);
+Rr = [Xr, Yr, Zr]; % Local -> absolute
+
+% define secondary scapula coordinate system according to A. Terrier, et
+% al, Bone Joint J 2014;96-B:513?18.
+ % 1) define the scapula plane
+ % define the plane normal vector (posterior-anterior positive)
+ X_SA = cross((S1 - AI), (S1 - TS)); X_SA = X_SA/norm(X_SA);
+
+ % 2) project the five points of the supraspinatus fossa on the scapula plane
+ landmark_list = {'SN' 'S2' 'S3' 'S4' 'S5'}; % list of landmarks to be projected
+
+ for land_id = 1:length(landmark_list)
+ t = X_SA'*(S1 - eval(landmark_list{land_id})); % line parameter in projection
+ projected.(landmark_list{land_id}) = eval(landmark_list{land_id}) + t*X_SA; % projected points
+ end
+
+ % 3) fit a line through the 4 projected points of the supraspinatus fossa
+ % and S1. The projected SN will be used as the origin of the scapula
+ % coordnate system
+ Z_SA = fitLine([S1, projected.S2, projected.S3, projected.S4, projected.S5]');
+ %coeffs = princomp([S1, projected.S2, projected.S3, projected.S4, projected.S5]');
+ %Z_SA = coeffs(:,1);
+
+ Z_SA = Z_SA/norm(Z_SA);
+
+ % 4) construct the scapula coordinate system and its rotation matrix
+ X_SA = X_SA; % x axis of the scapula coordinate system
+ Z_SA = Z_SA; % z axis of the scapula coordinate system
+ Y_SA = cross(Z_SA, X_SA); Y_SA = Y_SA/norm(Y_SA); % y axis of the scapula coordinate system
+
+ Rsa = [X_SA, Y_SA, Z_SA]; % local ---> global
+
+ BLDATA.Original_Points.GC = projected.SN + Rsa*GC_sa;
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of points in the original configuration and in MATLAB frame
+
+BLDATA.Original_Points.IJ = IJ;
+BLDATA.Original_Points.PX = PX;
+BLDATA.Original_Points.T8 = T8;
+BLDATA.Original_Points.C7 = C7;
+BLDATA.Original_Points.SC = SC;
+BLDATA.Original_Points.AC = AC;
+BLDATA.Original_Points.GH = GH;
+BLDATA.Original_Points.HU = HU;
+BLDATA.Original_Points.TS = TS;
+BLDATA.Original_Points.AI = AI;
+BLDATA.Original_Points.AA = AA;
+BLDATA.Original_Points.EL = EL;
+BLDATA.Original_Points.EM = EM;
+BLDATA.Original_Points.CP = CP;
+BLDATA.Original_Points.US = US;
+BLDATA.Original_Points.RS = RS;
+BLDATA.Original_Points.SN = SN;
+BLDATA.Original_Points.S1 = S1;
+BLDATA.Original_Points.S2 = S2;
+BLDATA.Original_Points.S3 = S3;
+BLDATA.Original_Points.S4 = S4;
+BLDATA.Original_Points.S5 = S5;
+
+
+% Build the original bone wire frames for plotting purposes
+BLDATA.Original_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Original_WFBones.Clavicula = [SC, AC];
+BLDATA.Original_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Original_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Original_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Original_WFBones.Radius = [CP, RS];
+
+
+% Original Rotation Matrices
+BLDATA.Original_Matrices_L2A.Rc = Rc;
+BLDATA.Original_Matrices_L2A.Rs = Rs;
+BLDATA.Original_Matrices_L2A.Rh = Rh;
+BLDATA.Original_Matrices_L2A.Ru = Ru;
+BLDATA.Original_Matrices_L2A.Rr = Rr;
+BLDATA.Original_Matrices_L2A.Rsa = Rsa;
+
+%--------------------------------------------------------------------------
+% BUILD INITIAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% To start, both initial and current data are set to original.
+% List of Points in the initial configuration
+BLDATA.Initial_Points.IJ = IJ;
+BLDATA.Initial_Points.PX = PX;
+BLDATA.Initial_Points.T8 = T8;
+BLDATA.Initial_Points.C7 = C7;
+BLDATA.Initial_Points.SC = SC;
+BLDATA.Initial_Points.AC = AC;
+BLDATA.Initial_Points.GH = GH;
+BLDATA.Initial_Points.HU = HU;
+BLDATA.Initial_Points.TS = TS;
+BLDATA.Initial_Points.AI = AI;
+BLDATA.Initial_Points.AA = AA;
+BLDATA.Initial_Points.EL = EL;
+BLDATA.Initial_Points.EM = EM;
+BLDATA.Initial_Points.CP = CP;
+BLDATA.Initial_Points.US = US;
+BLDATA.Initial_Points.RS = RS;
+BLDATA.Initial_Points.SN = SN;
+BLDATA.Initial_Points.S1 = S1;
+BLDATA.Initial_Points.S2 = S2;
+BLDATA.Initial_Points.S3 = S3;
+BLDATA.Initial_Points.S4 = S4;
+BLDATA.Initial_Points.S5 = S5;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Initial_WFBones.Clavicula = [SC, AC];
+BLDATA.Initial_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Initial_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Initial_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Initial_WFBones.Radius = [CP, RS];
+
+% Initial Rotation Matrices
+BLDATA.Initial_Matrices_L2A.Rc = Rc;
+BLDATA.Initial_Matrices_L2A.Rs = Rs;
+BLDATA.Initial_Matrices_L2A.Rh = Rh;
+BLDATA.Initial_Matrices_L2A.Ru = Ru;
+BLDATA.Initial_Matrices_L2A.Rr = Rr;
+BLDATA.Initial_Matrices_L2A.Rsa = Rsa;
+%--------------------------------------------------------------------------
+% BUILD CURRENT BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of Points in the current configuration
+BLDATA.Current_Points.IJ = IJ;
+BLDATA.Current_Points.PX = PX;
+BLDATA.Current_Points.T8 = T8;
+BLDATA.Current_Points.C7 = C7;
+BLDATA.Current_Points.SC = SC;
+BLDATA.Current_Points.AC = AC;
+BLDATA.Current_Points.GH = GH;
+BLDATA.Current_Points.HU = HU;
+BLDATA.Current_Points.TS = TS;
+BLDATA.Current_Points.AI = AI;
+BLDATA.Current_Points.AA = AA;
+BLDATA.Current_Points.EL = EL;
+BLDATA.Current_Points.EM = EM;
+BLDATA.Current_Points.CP = CP;
+BLDATA.Current_Points.US = US;
+BLDATA.Current_Points.RS = RS;
+BLDATA.Current_Points.SN = SN;
+BLDATA.Current_Points.S1 = S1;
+BLDATA.Current_Points.S2 = S2;
+BLDATA.Current_Points.S3 = S3;
+BLDATA.Current_Points.S4 = S4;
+BLDATA.Current_Points.S5 = S5;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Current_WFBones.Clavicula = [SC, AC];
+BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Current_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Current_WFBones.Radius = [CP, RS];
+
+% Current Rotation Matrices
+BLDATA.Current_Matrices_L2A.Rc = Rc;
+BLDATA.Current_Matrices_L2A.Rs = Rs;
+BLDATA.Current_Matrices_L2A.Rh = Rh;
+BLDATA.Current_Matrices_L2A.Ru = Ru;
+BLDATA.Current_Matrices_L2A.Rr = Rr;
+BLDATA.Current_Matrices_L2A.Rsa = Rsa;
+
+%--------------------------------------------------------------------------
+% BUILD THE GARNER & PANDY SCAPULAR ROTATION MATRIX
+%--------------------------------------------------------------------------
+% Define the Garner & Pandy Scapular Reference frame
+Zaxis = AC - GH; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, AC - TS); Yaxis = Yaxis/norm(Yaxis);
+Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+Rgnp = [Xaxis, Yaxis, Zaxis];
+BLDATA.Original_GnP.Rs = Rgnp;
+BLDATA.Initial_GnP.Rs = Rgnp;
+BLDATA.Current_GnP.Rs = Rgnp;
+
+% initialize glenoid fossa orientation for the subject specific toolbox [version inclination GC_SA]
+BLDATA.Glenoid_Orientations_Generic = [-4.28 9.77 25.0523 -6.4111 -8.4591 19.7584];% for the visualization we keep this to have the initial values unchanged to visualize
+BLDATA.Glenoid_Orientations = [-4.28 9.77 25.0523 -6.4111 -8.4591 19.7584];
+
+return
+
+
+% function for fitting a line to a matrix of points in X (n times 3)
+function [dirVect,meanX,residuals,rmse,R2] = fitLine(X)
+
+% Fits a line to a group of points in X
+% X should be X = [x1 y1 z1]
+% [ ... ]
+% [xn yn zn]
+
+%[coeff,score,~] = princomp(X);% matlab new revison
+[coeff,score,~] = pca(X);
+dirVect = coeff(:,1);
+[Xn,Xm] = size(X);
+meanX = mean(X,1);
+Xfit1 = repmat(meanX,Xn,1) + score(:,1)*coeff(:,1)';
+residuals = X-Xfit1;
+error = diag(pdist2(residuals,zeros(Xn,Xm)));
+sse = sum(error.^2);
+rmse = norm(error)/sqrt(Xn);
+
+for i=1:Xn
+ tot(i) = norm(meanX-X(i,:));
+end
+
+sst = sum(tot.^2);
+
+R2 = 1-(sse/sst); %http://en.wikipedia.org/wiki/Coefficient_of_determination
+return
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_dynamics.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_dynamics.m
new file mode 100755
index 0000000..7c800e9
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_dynamics.m
@@ -0,0 +1,464 @@
+function DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA)
+% Function for initialising the dynamic model & data structure
+%--------------------------------------------------------------------------
+% Syntax :
+% DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function creates the symbolic equations of motion using Lagrange
+method.
+
+It first defines:
+ - generalized coordinates.
+ - 10 bony landmarks.
+ - mass and moment of inertia data.
+ - rib-cage ellipsoid data.
+
+Then it computes:
+ - the linear acceleration of the centers of mass for
+ humerus, ulna, and radius and writes them in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_acceleration_file.m
+
+ - d2L/ddq2 (named 'MDYN') and dL/dq-d2L/dqddq*dq (named
+ 'RHS') and writes them both, along with 'dq', in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_dynamics_file.m
+
+ - scapulo-thoraic constraints for TS and AI, including
+ 'PHIts', 'PHIai', 'dPHItsdq', 'dPHIaidq' and writes them in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m
+
+Then it constructs the DYDATA structure:
+ - gives the numerical values already stored in BLDATA.Original_Points
+ to the aforesaid 10 landmarks and save them in DYDATA.
+ - gives associated numerical values to mass, moment of inertia,
+ rib-cage ellipsoides adn save them in DYDATA.
+ - the associated numerical values of q, dq, and ddq will be defined
+ later on in the force estimation files and will be saved in
+ DYDATA.JEA, DYDATA.dJEAdt, and DYDATA.d2JEAdt2.
+ - defines the data related to the GHJ stability cone and saves them
+ in the DYDATA.
+%}
+%--------------------------------------------------------------------------
+
+% Initialise the output
+DYDATA = [];
+
+%--------------------------------------------------------------------------
+% DEFINE THE DYNAMIC VARIABLES
+%--------------------------------------------------------------------------
+% List of Dynamic Variables
+syms xc yc zc dxc dyc dzc real; % Clavicula joint angles and velocities
+syms xs ys zs dxs dys dzs real; % Scapula joint angles and velocities
+syms zh yh zzh dzh dyh dzzh real; % Humerus joint angles and velocities
+syms xu dxu; % Ulna joint angle and velocity
+syms zr dzr; % Radius joint angle and velocity
+
+% joints accelerations
+syms ddxc ddyc ddzc ddxs ddys ddzs ddzh ddyh ddzzh ddxu ddzr real;
+
+% Constrained generalised coordinates
+q = [xc; yc; zc; xs; ys; zs; zh; yh; zzh; xu; zr];
+dq = [dxc; dyc; dzc; dxs; dys; dzs; dzh; dyh; dzzh; dxu; dzr];
+ddq = [ddxc; ddyc; ddzc; ddxs; ddys; ddzs; ddzh; ddyh; ddzzh; ddxu; ddzr];
+
+%--------------------------------------------------------------------------
+% DEFINE THE STATIC PHYSICAL VARIABLES
+%--------------------------------------------------------------------------
+% List of Physical Constants. All these points are in local reference frame
+syms SCx SCy SCz real; % Thorax frame
+syms ACx ACy ACz real; % Clavicula frame
+syms AAx AAy AAz real; % Scapula frame
+syms TSx TSy TSz real; % Scapula frame
+syms AIx AIy AIz real; % Scapula frame
+syms GHx GHy GHz real; % Scapula frame
+syms HUx HUy HUz real; % Humerus frame
+syms CPx CPy CPz real; % Ulna frame
+syms USx USy USz real; % Ulna frame
+syms RSx RSy RSz real; % Radius frame
+
+% Ellipsoid data
+syms OEx OEy OEz real;
+syms Ats Bts Cts real;
+syms Aai Bai Cai real;
+
+% Inertial Data
+syms Icl Ict real;
+syms Isl Ist real;
+syms Ihl Iht real;
+syms Iul Iut real;
+syms Irl Irt real;
+syms Mc Ms Mh M_u Mr g real;
+
+% Inertia Matrices
+Inc = diag([Icl, Ict, Ict]);
+Ins = diag([Isl, Ist, Ist]);
+Inh = diag([Iht, Iht, Ihl]);
+Inu = diag([Iut, Iut, Iul]);
+Inr = diag([Irt, Irt, Irl]);
+
+%--------------------------------------------------------------------------
+% Create the Rotation Matrices (local to inertial)
+%--------------------------------------------------------------------------
+% Clavicula Matrix
+Rcx = [1, 0, 0;
+ 0, cos(xc), -sin(xc);
+ 0, sin(xc), cos(xc)];
+
+Rcy = [cos(yc), 0, -sin(yc);
+ 0, 1, 0;
+ sin(yc), 0, cos(yc)];
+
+Rcz = [cos(zc), -sin(zc), 0;
+ sin(zc), cos(zc), 0;
+ 0, 0, 1];
+
+Rc = Rcz*Rcy'*Rcx;
+
+% Scapula Matrix
+Rsx = [1, 0, 0;
+ 0, cos(xs), -sin(xs);
+ 0, sin(xs), cos(xs)];
+
+Rsy = [cos(ys), 0, -sin(ys);
+ 0, 1, 0;
+ sin(ys), 0, cos(ys)];
+
+Rsz = [cos(zs), -sin(zs), 0;
+ sin(zs), cos(zs), 0;
+ 0, 0, 1];
+
+Rs = Rsz*Rsy'*Rsx;
+
+% Humerus Matrix
+Rhz = [cos(zh), -sin(zh), 0;
+ sin(zh), cos(zh), 0;
+ 0, 0, 1];
+
+Rhy = [cos(yh), 0, -sin(yh);
+ 0, 1, 0;
+ sin(yh), 0, cos(yh)];
+
+Rhzz = [cos(zzh), -sin(zzh), 0;
+ sin(zzh), cos(zzh), 0;
+ 0, 0, 1];
+
+Rh = Rhzz*Rhy'*Rhz;
+
+% Ulna Matrix
+% Ruy = [cos(beta), 0, sin(beta);
+% 0, 1, 0;
+% -sin(beta), 0, cos(beta)]; %beta constant
+
+Rux = [1, 0, 0;
+ 0, cos(xu), -sin(xu);
+ 0, sin(xu), cos(xu)];% ulna to the proximal segment (humerus)
+
+Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+%Ru_u2h = Rux*Ruy; % ulna to the proximal segment (humerus)
+Ru = Rh*Ru_h*Rux; % ulna to the inertial frame (thorax)
+
+% Radiu Matrix
+Rrz = [cos(zr), -sin(zr), 0;
+ sin(zr), cos(zr), 0;
+ 0, 0, 1]; % radius to the proximal segment (ulna)
+
+Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+Rr = Ru*Rr_u*Rrz; % radius to the inertial frame (thorax)
+
+%--------------------------------------------------------------------------
+% Compute the locations of the centres of gravity
+%--------------------------------------------------------------------------
+% Clavicula centre of gravity, midway along the x-axis
+CGc = simplify(expand(Rc*(1/2*[ACx; ACy; ACz]) + [SCx; SCy; SCz]));
+
+% Scapula centre of gravity, 1/3 from AC to AI
+CGs = simplify(expand(Rs*(1/3*[AIx; AIy; AIz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Humerus centre of gravity
+CGh = simplify(expand(Rh*(1/2*[HUx; HUy; HUz]) + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Ulna centre of gravity
+CGu = simplify(expand(Ru*(1/2*[USx; USy; USz]) + Rh*[HUx; HUy; HUz] + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Radius centre of gravity
+CGr = simplify(expand(Rr*(1/2*[RSx; RSy; RSz]) + Rh*[CPx; CPy; CPz] + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));%Rh*[HUx; HUy; HUz]
+
+%--------------------------------------------------------------------------
+% Compute the linear velocities of the centres of gravity
+%--------------------------------------------------------------------------
+VCGc = simplify(expand(jacobian(CGc, q)*dq));
+VCGs = simplify(expand(jacobian(CGs, q)*dq));
+VCGh = simplify(expand(jacobian(CGh, q)*dq));
+VCGu = simplify(expand(jacobian(CGu, q)*dq));
+VCGr = simplify(expand(jacobian(CGr, q)*dq));
+%--------------------------------------------------------------------------
+% Compute the angular velocities (in local frame)
+%--------------------------------------------------------------------------
+Wc = Rcx'*Rcy*[0; 0; dzc] + Rcx'*[0; dyc; 0] + [dxc; 0; 0];
+Ws = Rsx'*Rsy*[0; 0; dzs] + Rsx'*[0; dys; 0] + [dxs; 0; 0];
+Wh = Rhz'*Rhy*[0; 0; dzzh] + Rhz'*[0; dyh; 0] + [0; 0; dzh];
+%Wu = Ru_u2h'*Wh + Ruy'*[dxu; 0; 0];
+%Wr = Rr_r2u'*Wu + [0; 0; dzr];
+Wu = Rux'*Ru_h'*Wh + [dxu; 0; 0];
+Wr = Rrz'*Rr_u'*Wu + [0; 0; dzr];
+
+%--------------------------------------------------------------------------
+% Compute the angular velocities (in inertial frame)
+%--------------------------------------------------------------------------
+Wac = Rcz*Rcy'*[dxc; 0; 0] + Rcz*[0; dyc; 0] + [0; 0; dzc];%or simply Rc*Wc
+Was = Rsz*Rsy'*[dxs; 0; 0] + Rsz*[0; dys; 0] + [0; 0; dzs];%or simply Rs*Ws
+Wah = Rhzz*Rhy'*[0; 0; dzh] + Rhzz*[0; dyh; 0] + [0; 0; dzzh];%or simply Rh*Wh
+Wau = Ru*Wu;
+War = Rr*Wr;
+
+%--------------------------------------------------------------------------
+% Linear Accelerations of Humerus, Ulna, and Radius
+%--------------------------------------------------------------------------
+ACGh = jacobian(VCGh, q)*dq + jacobian(VCGh, dq)*ddq;
+ACGu = jacobian(VCGu, q)*dq + jacobian(VCGu, dq)*ddq;
+ACGr = jacobian(VCGr, q)*dq + jacobian(VCGr, dq)*ddq;
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_acceleration_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_acceleration_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'ACGh','ACGu','ACGr'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% Compute the Lagrangian
+%--------------------------------------------------------------------------
+Lag = 0.5*Mc*transpose(VCGc)*VCGc + 0.5*transpose(Wc)*Inc*Wc + ...
+ 0.5*Ms*transpose(VCGs)*VCGs + 0.5*transpose(Ws)*Ins*Ws + ...
+ 0.5*Mh*transpose(VCGh)*VCGh + 0.5*transpose(Wh)*Inh*Wh + ...
+ 0.5*M_u*transpose(VCGu)*VCGu + 0.5*transpose(Wu)*Inu*Wu + ...
+ 0.5*Mr*transpose(VCGr)*VCGr + 0.5*transpose(Wr)*Inr*Wr - ...
+ Mc*g*CGc(3) - Ms*g*CGs(3) - Mh*g*CGh(3) - M_u*g*CGu(3) - Mr*g*CGr(3);
+
+%--------------------------------------------------------------------------
+% Compute the Dynamic (MDYN*ddq=RHS+generalized forces including the constraints)
+%--------------------------------------------------------------------------
+% d2L/ddq2
+MDYN = jacobian(jacobian(Lag, dq), dq);
+
+% dL/dq-d2L/dqddq*dq (right-hand side of the Lagrange equation)
+RHS = transpose(jacobian(Lag, q)) - jacobian(jacobian(Lag, dq), q)*dq;
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_dynamics_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_dynamics_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'dq', 'MDYN', 'RHS'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% Define the Scapulo-Thoracic Gliding Plane Constraints
+%--------------------------------------------------------------------------
+% Constraint Number 1
+TS = Rs*([TSx; TSy; TSz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz];
+PHIts = (TS - [OEx; OEy; OEz])'*diag([1/Ats^2; 1/Bts^2; 1/Cts^2])*(TS - [OEx; OEy; OEz]) - 1;
+
+% Jacobian
+dPHItsdq = jacobian(PHIts, q);
+
+dPHItsdt = dPHItsdq*dq; % for inverse kinematics
+
+ddPHItsdt = jacobian(dPHItsdt, q)*dq + jacobian(dPHItsdt, dq)*ddq; % for inverse kinematics
+
+
+
+% Constraint Number 2
+AI = Rs*([AIx; AIy; AIz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz];
+PHIai = (AI - [OEx; OEy; OEz])'*diag([1/Aai^2; 1/Bai^2; 1/Cai^2])*(AI - [OEx; OEy; OEz]) - 1;
+
+% Jacobian
+dPHIaidq = jacobian(PHIai, q);
+
+dPHIaidt = dPHIaidq*dq; % for inverse kinematics
+
+ddPHIaidt = jacobian(dPHIaidt, q)*dq + jacobian(dPHIaidt, dq)*ddq; % for inverse kinematics
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_constraints_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'PHIts', 'PHIai', 'dPHItsdq', 'dPHIaidq', 'dPHItsdt', 'dPHIaidt', 'ddPHItsdt', 'ddPHIaidt'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% CONSTRUCT THE DYDATA STRUCTURE
+%--------------------------------------------------------------------------
+%{
+To define the position of the bony landmarks in their local coordinates
+accroding to the description given in begining of the current function.
+It's just needed to have the data in one configuration. The only one we
+have so far is the original data.
+BLDATA.Original_Points: contains the position of the bony landmarks in
+the inertial frame.
+BLDATA.Original_Matrices_L2A: contains the rotation matrix from local to
+inertial coordinate.
+%}
+DYDATA.SC = BLDATA.Original_Points.SC;
+DYDATA.AC = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Original_Points.AC - BLDATA.Original_Points.SC);
+DYDATA.AA = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AA - BLDATA.Original_Points.AC);
+DYDATA.TS = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.TS - BLDATA.Original_Points.AC);
+DYDATA.AI = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AI - BLDATA.Original_Points.AC);
+DYDATA.GH = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.GH - BLDATA.Original_Points.AC);
+DYDATA.HU = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Original_Points.HU - BLDATA.Original_Points.GH);
+DYDATA.US = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Original_Points.US - BLDATA.Original_Points.HU);
+DYDATA.CP = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Original_Points.CP - BLDATA.Original_Points.GH);
+DYDATA.RS = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Original_Points.RS - BLDATA.Original_Points.CP);
+
+% Ribcage Ellipsoid Data for scapulothoracic constraints
+DYDATA.OE = REDATA.Centre;
+DYDATA.AE = [REDATA.TSaxes, REDATA.AIaxes];
+
+% the mass and moment of inertia for the generic model are from
+% M.D. Klein Breteler et al., Journal of Biomechanics 32 (1999) 1191.
+% The body weight is not mentioned in this paper so I approximated it using
+% the R. Dumas et al., Journal of Biomechanics 40 (2007) 543?553.
+
+% Mass Parameters [Kg]
+Mc = 0.156;
+Ms = 0.704;
+Mh = 2.052; % The body weight of our male subject is Mh*100/2.4 (=85.5 Kg) according to R. Dumas
+M_u = 0.9012; % not in the paper by Breteler but close to "A multibody biomechanical model of the upper limb including the shoulder girdle"
+Mr = 0.5523; % not in the paper by Breteler "
+
+
+% Inertia Parameters [Kg M^2]
+Ict = 0.001; Icl = 0.003; % from before, but I do not like them as they are not consistent with the other segments values or the portugease paper
+Ist = 0.007; Isl = 0.007; % the same as above
+Iht = 0.0165; Ihl = 0.0033; % these values are quite different that what it was before.
+Iut = 0.0060; Iul = 9.6437e-04; % defined using the SUBJECT_TOOL_Update_Weight by giving 85.5kg and 1.86 m, and the values are comparable to those of Portugease
+Irt = 0.0037; Irl = 5.9107e-04; % the same as above
+
+DYDATA.MHand = 0;% The Radius mass can also contain a weight carried in the hand.
+DYDATA.LHand = 270e-3;% The inertia will be MHand*LHand^2, the position from CP;
+
+% Gravitational Constant
+g = 9.81;
+
+% ATTENTION!! One needs to apply the parallel axis theorem to be correct.
+%Iht = 1.32 + 0.612 + 0.064;
+% This works, all axes are colinear
+%Ihl = 0.199 + 0.091 + 0.019;
+
+% Inertia Data
+DYDATA.Inertia = [Mc, Ms, Mh, M_u, Mr;
+ Ict, Icl, 0 ,0 ,0;
+ Ist, Isl, 0 ,0 ,0;
+ Iht, Ihl, 0 ,0 ,0;
+ Iut, Iul, 0 ,0 ,0;
+ Irt, Irl, 0 ,0 ,0;
+ g, 0, 0 ,0 ,0];
+
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE PARAMETERS
+%--------------------------------------------------------------------------
+% Cone Base Dimensions
+Hay = 0.0119;%0.0108;%
+Haz = 0.0156;%0.0142;%
+
+% Set the Cone Dimensions
+DYDATA.ConeDimensions = [Hay, Haz];
+
+% Cone Base Center
+% (In Thorax Reference System with respect to the point GH)
+% DYDATA.ConeCentre = [-13.8065; -15.4992; -2.4582]/1000;%[-21.630343; -12.295269; -3.156106]/1000;%
+DYDATA.ConeCentre = (BLDATA.Original_Points.GC - BLDATA.Original_Points.GH)/1000;
+%GI -7:
+%DYDATA.ConeCentre =[-18.5596; -16.1417; 4.9769]/1000;
+
+% GI 2:
+%DYDATA.ConeCentre = [-18.3432; -17.0867; 1.1618]/1000;
+
+%GI 5.9:
+%DYDATA.ConeCentre = [-18.1117; -17.3634; -0.5103]/1000;
+
+% GI 15:
+%DYDATA.ConeCentre = [-17.2585; -17.6842; -4.3810]/1000;
+
+% The Glenohumeral joint center is defined to be to tip of the cone with
+% the X-axis running from the Cone Base center to GH joint center
+GH = [0; 0; 0];
+
+% Compute Reference Frame of Cone Base
+Xaxis = GH - DYDATA.ConeCentre; Xaxis = Xaxis/norm(Xaxis);
+Zaxis = [0; 0; 1]; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, Xaxis); Yaxis = Yaxis/norm(Yaxis);
+Zaxis = cross(Xaxis, Yaxis); Zaxis = Zaxis/norm(Zaxis);
+
+% Construct the Rotation Matrix
+DYDATA.Cone_Rb = [Xaxis, Yaxis, Zaxis]; % local ---> global (from glenoid frame to the frame attached to the GH, g to GH)
+
+% Number of cutting planes representing the cone
+DYDATA.NbConstraints = 40;
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_joint_sinus_cone.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_joint_sinus_cone.m
new file mode 100755
index 0000000..a2f62dd
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_joint_sinus_cone.m
@@ -0,0 +1,49 @@
+function JCDATA = MAIN_INITIALISATION_build_data_joint_sinus_cone()
+% Function to initialise the joint sinus cone data set
+%--------------------------------------------------------------------------
+% Syntax :
+% JCDATA = MAIN_INITIALISATION_build_data_joint_sinus_cone()
+%--------------------------------------------------------------------------
+%{
+Note: the application of this function is different from how it's been used
+in Garner's thesis. The user have an option to show these joint sinus cones
+on the visualization without any effect on the motion.
+
+File Description :
+This function generates the initial joint sinus cone data structure.
+
+Data Structure Format :
+ JCDATA.SCcone.ConeAngle X - Y - Z sequence
+ JCDATA.ACcone.ConeAngle X - Y - Z sequence
+ JCDATA.GHcone.ConeAngle X - Y - Z sequence
+ JCDATA.SCcone.Dimensions [Cone Base Axis 1, Cone Base Axis 2, Cone Length]
+ JCDATA.ACcone.Dimensions
+ JCDATA.GHcone.Dimensions
+ JCDATA.SCcone.RefSys
+ JCDATA.ACcone.RefSys
+ JCDATA.GHcone.RefSys
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+JCDATA = [];
+
+% The SC Cone is defined in the clavicula reference system.
+% Cone's axis is the X axis
+JCDATA.SCCone.ConeAngle = [-1.399; -0.059; -0.011];
+JCDATA.SCCone.Dimensions = [42; 25; 100];
+JCDATA.SCCone.RefSys = 0;
+
+% The AC cone is defined in the scapula reference system
+% Cone's axis is the Z axis
+JCDATA.ACCone.ConeAngle = [0.019; 0.09; 2.693];
+JCDATA.ACCone.Dimensions = [10.5; 8.1; 30];
+JCDATA.ACCone.RefSys = 1;
+
+% The GH cone is defined in the humerus reference system
+% Cone's axis is the Z axis
+JCDATA.GHCone.ConeAngle = [-0.201; -1.260; 3];
+JCDATA.GHCone.Dimensions = [96; 44; 40];
+JCDATA.GHCone.RefSys = 2;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_kinematics.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_kinematics.m
new file mode 100755
index 0000000..0c8dd13
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_kinematics.m
@@ -0,0 +1,146 @@
+function KEDATA = MAIN_INITIALISATION_build_data_kinematics(REDATA, BLDATA)
+% Function to initialise the kinematics dataset
+%--------------------------------------------------------------------------
+% Syntax :
+% KEDATA = MAIN_INITIALISATION_build_data_kinematics(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function
+ defines the initial joint angles for all the joints using
+ MAIN_TOOL_geometry_functions and saves them into
+ KEDATA.Initial_Joint_Angles.
+
+ based on the initial joint angles it sets the initial values
+ for the minimal coordinates and saves them into
+ KEDATA.Initial_Minimal_Cordinate
+
+ it receives the final values for the minimal coordinates
+ defined by the user and saves them into
+ KEDATA.Final_Minimal_Cordinate. This is a main shortcoming
+ of using the minimal coordinates. To be more
+ precise we need to use optimization here. But if we use
+ optimization, what would be the edge of minimal coordinates
+ over the optimization based approach to plan the motion.
+
+ finally we give all the above mentioned data to the function
+ named KINEMATICS_TOOL_build_motion and it constructs the
+ evaluation of the joint Euler angles, evaluation of the minimal
+ coordinates, and the evaluation of the bony landmarks. In other
+ word, it constructs the motion.
+ (KEDATA.Joint_Angle_Evolution, KEDATA.Coordinate_Evolution.M1,
+ KEDATA.Point_Evolution)
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+KEDATA = [];
+
+% Get the Initial Joint Angles
+JEA0 = MAIN_TOOL_geometry_functions('Get Euler Angles From Initial Rotation Matrices', BLDATA);
+
+% Initial Joint Angles
+KEDATA.Initial_Joint_Angles = JEA0;
+
+%--------------------------------------------------------------------------
+% The First Initial Minimal Coordinate: Clavicual Axial Rotation
+%--------------------------------------------------------------------------
+KEDATA.Initial_Minimal_Coordinate(1,1) = JEA0(1);
+
+%--------------------------------------------------------------------------
+% Second & Third Initial Minimal Coordinates: AI parametric coordinates
+%--------------------------------------------------------------------------
+% The position of AI, with respect to the ellipsoid centre is :
+% AIx = Ax sin(M3) cos(M2)
+% AIy = Ay sin(M3) sin(M2)
+% AIz = Az cos(M3)
+AIx = BLDATA.Initial_Points.AI(1) - REDATA.Centre(1);
+AIy = BLDATA.Initial_Points.AI(2) - REDATA.Centre(2);
+AIz = BLDATA.Initial_Points.AI(3) - REDATA.Centre(3);
+
+Ax = REDATA.AIaxes(1);
+Ay = REDATA.AIaxes(2);
+Az = REDATA.AIaxes(3);
+
+KEDATA.Initial_Minimal_Coordinate(3,1) = acos(AIz/Az);
+KEDATA.Initial_Minimal_Coordinate(2,1) = atan2(AIy*Ax,AIx*Ay);
+
+%--------------------------------------------------------------------------
+% The Fourth Initial Minimal Coordinates: TS intersection Coordinate
+%--------------------------------------------------------------------------
+mu0 = KINEMATICS_TOOL_get_TS_intersect_coordinate(REDATA, BLDATA);
+KEDATA.Initial_Minimal_Coordinate(4,1) = mu0;
+
+%--------------------------------------------------------------------------
+% The Fifth to Seventh Initial Minimal Coordinates: Glenohumeral Joint Angles
+%--------------------------------------------------------------------------
+% These values are inintialised a bit differently
+KEDATA.Initial_Minimal_Coordinate(5,1) = JEA0(7);%0; %JEA0(7); No internal/external rotation
+KEDATA.Initial_Minimal_Coordinate(6,1) = JEA0(8);%-1*pi/180; %JEA0(8);
+KEDATA.Initial_Minimal_Coordinate(7,1) = JEA0(9);%30*pi/180; %JEA0(9); Lies on the scapular plane.
+
+%--------------------------------------------------------------------------
+% The Eighth and Nineth Initial Minimal Coordinates: Humeroulnar and Radiulnar Joint Angles
+%--------------------------------------------------------------------------
+% These values might be inintialized a bit differently
+KEDATA.Initial_Minimal_Coordinate(8,1) = JEA0(10);%0*pi/180; %JEA0(8);
+KEDATA.Initial_Minimal_Coordinate(9,1) = JEA0(11);%0*pi/180; %JEA0(9);
+
+%--------------------------------------------------------------------------
+% Set the final values
+%--------------------------------------------------------------------------
+% Set the Final Values (these values were obtained from initial testing,
+% they are not necessarily the best)
+KEDATA.Final_Minimal_Coordinate(1,1) = 30*pi/180;
+KEDATA.Final_Minimal_Coordinate(2,1) = -30*pi/180;
+KEDATA.Final_Minimal_Coordinate(3,1) = 91*pi/180;
+KEDATA.Final_Minimal_Coordinate(4,1) = KEDATA.Initial_Minimal_Coordinate(4,1)+0.07;
+KEDATA.Final_Minimal_Coordinate(5,1) = 0*pi/180;
+KEDATA.Final_Minimal_Coordinate(6,1) = -140*pi/180;
+KEDATA.Final_Minimal_Coordinate(7,1) = 30*pi/180;
+KEDATA.Final_Minimal_Coordinate(8,1) = JEA0(10);%0*pi/180;
+KEDATA.Final_Minimal_Coordinate(9,1) = JEA0(11);%0*pi/180;
+
+% Set the polynomial orders
+KEDATA.Order = 5*ones(1,9);
+
+% Set the Derivative Conditions
+KEDATA.DerCond = zeros(9,8);
+
+% Number of way points
+KEDATA.NbPoints = 100;
+
+%--------------------------------------------------------------------------
+% Build an initial motion
+%--------------------------------------------------------------------------
+% This function will set the following elements of KEDATA
+% KEDATA.Joint_Angle_Evolution
+% KEDATA.Coordinate_Evolution.M1
+% KEDATA.Coordinate_Evolution.M2
+% KEDATA.Coordinate_Evolution.M3
+% KEDATA.Coordinate_Evolution.M4
+% KEDATA.Coordinate_Evolution.M5
+% KEDATA.Coordinate_Evolution.M6
+% KEDATA.Coordinate_Evolution.M7
+% KEDATA.Coordinate_Evolution.M8
+% KEDATA.Coordinate_Evolution.M9
+% KEDATA.Point_Evolution.IJ
+% KEDATA.Point_Evolution.PX
+% KEDATA.Point_Evolution.T8
+% KEDATA.Point_Evolution.C7
+% KEDATA.Point_Evolution.SC
+% KEDATA.Point_Evolution.AC
+% KEDATA.Point_Evolution.AA
+% KEDATA.Point_Evolution.TS
+% KEDATA.Point_Evolution.AI
+% KEDATA.Point_Evolution.GH
+% KEDATA.Point_Evolution.HU
+% KEDATA.Point_Evolution.EL
+% KEDATA.Point_Evolution.EM
+% KEDATA.Point_Evolution.CP
+% KEDATA.Point_Evolution.US
+% KEDATA.Point_Evolution.RS
+KEDATA = KINEMATICS_TOOL_build_motion(KEDATA, BLDATA, REDATA);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping.m
new file mode 100755
index 0000000..3a4e921
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping.m
@@ -0,0 +1,2267 @@
+function MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA)
+% Function to initialise the muscle wrapping data set
+%--------------------------------------------------------------------------
+% Syntax :
+% MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA)
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This file builds the muscle data structure (MWDATA) for all the muscles.
+MWDATA consists of the below data for each muscle. Here we have 42 muscles.
+
+ origin, insertion, and two types of viapoints (A and B) for each muscle
+ Three different points for each of these 4 points are considered.
+ It's based on the splines idea for the muscle centroid line.
+ The data are assigned using two different
+ functions developed in the end of this script. They are named GetPoints
+ and GetWrap which both read the data already saved in a file named
+ AnatomicLandmarks.dat.
+ ---> MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+
+ NOTE all the above information are in AMIRA reference frame. They are
+ transformed to MATLAB and more specifically to their associated
+ refrence frames in matlab, using two functions named
+ Rotate_Axis_Into_Matlab_Frame and Rotate_Point_Into_Matlab_Fram.
+ These two are defined in the end of the current script.
+
+ by default, one segment is considered for all the 42 muscles which I
+ guess is large enough. This is set by giving the middle point (1,2) of the
+ above four data to the below, let's say, actual origin, insertion, and
+ via points data. Once the number of segments are changed by the user
+ then these actuals are not anymore the middle points saved in the
+ Anchors and instead they are defined using the spilne. The spline method can
+ be also set and is saved in MWDATA (below in this script).
+ ---> MWDATA{Mident,1}.Origin = cell(1,20);
+ ---> MWDATA{Mident,1}.ViaA = cell(1,20);
+ ---> MWDATA{Mident,1}.ViaB = cell(1,20);
+ ---> MWDATA{Mident,1}.Insertion = cell(1,20);
+
+ in order to rotate the data currectly and also for later on (in force
+ calculation and wrapping) we define the reference frames for all the
+ information associated with the muscle and the obstacles.
+ ---> MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+
+ the obstacle is also defined here for each muscle among the available
+ shapes stated in the Obstacle Set Method of Garner (sphere, single,
+ double, stub). The obstacle axis (z) is also in AMIRA in terms of the
+ axis-angle rotation vector.
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+%}
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MWDATA = cell(42,1);
+
+% List of Physical Cross-Sectional Areas (page 197-198 of Garner's thesis)
+PCSA0 = 1.e-4*[...
+ 4.36; % Subclavius
+ 8.12; % Serratus Anterior Upper
+ 4; % Serratus Anterior Middle
+ 8.41; % Serratus Anterior Lower
+ 6.24; % Trapezius C1 - C6
+ 3.61; % Trapezius C7
+ 3.45; % Trapezius T1
+ 12.4; % Trapezius T2 - T7
+ 3.78; % Levator Scapulae
+ 6.71; % Rhomboid Minor
+ 4.14; % Rhomboid Major T1 - T2
+ 2.48; % Rhomboid Major T3 - T4
+ 4.87; % Pectoralis Minor
+ 10.38; % Pectoralis Major Clavicular
+ 14.68; % Pectoralis Major Sternal
+ 11.14; % Pectoralis Major Ribs
+ 5.26; % Latisimuss Dorsi Thoracic
+ 5.26; % Latisimuss Dorsi Lumbar
+ 3.8; % Latisimuss Dorsi Iliac
+ 8.41; % Deltoid Clavicular
+ 56.38; % Deltoid Acromial
+ 17.19; % Deltoid Scapular
+ 20.84; % Supraspinatus
+ 33.32; % Infraspinatus
+ 35.69; % Subscapularis
+ 6.77; % Teres Minor
+ 15.69; % Teres Major
+ 4.55; % Coracobrachialis
+ 19.07; % Triceps Brachii Long...RECENTLY ADDED
+ 18.78; % Triceps Brachii Medial
+ 38.45; % Triceps Brachii Lateral
+ 13.99; % Biceps Brachii Short
+ 11.91; % Biceps Brachii Long
+ 25.88; % Brachialis
+ 3.08; % Brachioradialis
+ 5.65; % Supinator
+ 17.96; % Pronator Teres
+ 11.16; % Flexor Carpi Radialis
+ 16.99; % Flexor Carpi Ulnaris
+ 8.13; % Extensor Carpi Radialis Long
+ 16.76; % Extensor Carpi Radialis Brevis
+ 8.04]; % Extensor Carpi Ulnaris
+
+% Maximum force values
+Fmax0 = [...
+ 144.02; % Subclavius
+ 268.05; % Serratus Anterior Upper
+ 132.12; % Serratus Anterior Middle
+ 277.51; % Serratus Anterior Lower
+ 205.95; % Trapezius C1 - C6
+ 119.25; % Trapezius C7
+ 114.01; % Trapezius T1
+ 409.23; % Trapezius T2 - T7
+ 124.78; % Levator Scapulae
+ 221.51; % Rhomboid Minor
+ 136.48; % Rhomboid Major T1 - T2
+ 81.93; % Rhomboid Major T3 - T4
+ 160.55; % Pectoralis Minor
+ 342.46; % Pectoralis Major Clavicular
+ 484.35; % Pectoralis Major Sternal
+ 367.78; % Pectoralis Major Ribs
+ 173.43; % Latisimuss Dorsi Thoracic
+ 173.88; % Latisimuss Dorsi Lumbar
+ 125.52; % Latisimuss Dorsi Iliac
+ 277.48; % Deltoid Clavicular
+ 1860.52; % Deltoid Acromial
+ 567.15; % Deltoid Scapular
+ 687.84; % Supraspinatus
+ 1099.61; % Infraspinatus
+ 1177.93; % Subscapularis
+ 223.35; % Teres Minor
+ 514.51; % Teres Major
+ 150.05; % Coracobrachialis
+ 629.21; % Triceps Brachii Long...RECENTLY ADDED
+ 619.67; % Triceps Brachii Medial
+ 1268.87; % Triceps Brachii Lateral
+ 461.76; % Biceps Brachii Short
+ 392.91; % Biceps Brachii Long
+ 853.90; % Brachialis
+ 101.58; % Brachioradialis
+ 186.38; % Supinator
+ 592.80; % Pronator Teres
+ 368.41; % Flexor Carpi Radialis
+ 560.70; % Flexor Carpi Ulnaris
+ 268.42; % Extensor Carpi Radialis Long
+ 553.21; % Extensor Carpi Radialis Brevis
+ 265.27]; % Extensor Carpi Ulnaris
+
+% Run through all the Muscles
+for Mident = 1:42
+
+ MWDATA{Mident,1}.Name = {};
+ MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+ MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+ MWDATA{Mident,1}.Origin = cell(1,20);
+ MWDATA{Mident,1}.ViaA = cell(1,20);
+ MWDATA{Mident,1}.ViaB = cell(1,20);
+ MWDATA{Mident,1}.Insertion = cell(1,20);
+ MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+ % This data is initially common to all
+ MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.InterpType = '3rd Order';
+ MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+
+ % The radii
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale = 1;
+
+ % There are 12 points on the wrapping surface
+ MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+
+ % This parameter is incase the muscle' object radiius requires
+ % modification. This factor is only used in the visualisation of the
+ % muscle's object.
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+
+ % This will be defined once the muscle model is completely defined
+ %MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);[]
+
+ %----------------------------------------------------------------------
+ % SUBCLAVIUS
+ %----------------------------------------------------------------------
+ if Mident == 1
+
+ % name
+ MWDATA{Mident,1}.Name = {'Subclavius'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subclavius',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subclavius',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR SUPERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 2
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Superior'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Sup',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Sup',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Sup','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single'; % single cylinder
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+
+ %GetWrap('Wrap_SerratusAnterior_Sup','axis')
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Sup','axis');
+
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Sup','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR MIDDLE PART
+ %----------------------------------------------------------------------
+ elseif Mident == 3
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Middle'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Mid',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Mid',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Mid','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Mid','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Mid','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR INFERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 4
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Inferior'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Inf',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Inf',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Inf','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Inf','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Inf','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C1 - C6
+ %----------------------------------------------------------------------
+ elseif Mident == 5
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius C1'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius1_desc',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius1_desc',3);
+
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,1} + [0; -7; 0];%right away modification on the insertion points (all the three)
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = MWDATA{Mident,1}.AnchorInsertion{1,2} + [0; -7; 0];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = MWDATA{Mident,1}.AnchorInsertion{1,3} + [0; -7; 0];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius1','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Trapezius1','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius1','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_Trapezius1','center'),GetWrap('Wrap_Trapezius11','center')];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [0, 1];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_Trapezius1','axis'), GetWrap('Wrap_Trapezius11','axis')];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_Trapezius1','radius'), -GetWrap('Wrap_Trapezius11','radius')];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ %MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,1) = MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,1) + [0; 0; 1.5];
+ %MWDATA{Mident,1}.MSCInfo.ObjectZaxis(3,1) = -MWDATA{Mident,1}.MSCInfo.ObjectZaxis(3,1);
+ %MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,1) = MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,1)+[30; 0; 0];
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C7
+ %----------------------------------------------------------------------
+ elseif Mident == 6
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius C7'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius2_trans1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius2_trans1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius2','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius2','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius2','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T1
+ %----------------------------------------------------------------------
+ elseif Mident == 7
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius T1'};
+
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius3_trans2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius3_trans2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius3','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius3','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius3','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T2 - T7
+ %----------------------------------------------------------------------
+ elseif Mident == 8
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius T2 - T7'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius4_ascen',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius4_ascen',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius4','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius4','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius4','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LEVATOR SCAPULAE
+ %----------------------------------------------------------------------
+ elseif Mident == 9
+
+ % name
+ MWDATA{Mident,1}.Name = {'Levator Scapulae'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LevatorScapula',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LevatorScapula',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 10
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Minor'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T1 - T2
+ %----------------------------------------------------------------------
+ elseif Mident == 11
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Major T1 - T2'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_RhomboidMajor1','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_RhomboidMajor1','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_RhomboidMajor1','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T3 - T4
+ %----------------------------------------------------------------------
+ elseif Mident == 12
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Major T3 - T4'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_RhomboidMajor2','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_RhomboidMajor2','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_RhomboidMajor2','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 13
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Minor'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR CLAVICULAR
+ %----------------------------------------------------------------------
+ elseif Mident == 14
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Clavicular'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorC',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorC',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorC','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_PectoralisMajorC','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorC','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR STERNAL
+ %----------------------------------------------------------------------
+ elseif Mident == 15
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Sternal'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorT1','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PectoralisMajorT1','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorT1','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR RIBS
+ %----------------------------------------------------------------------
+ elseif Mident == 16
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Ribs'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorT2','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PectoralisMajorT2','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorT2','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI THORACIC
+ %----------------------------------------------------------------------
+ elseif Mident == 17
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Thoracic'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiT',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiT',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiT1','center'),GetWrap('Wrap_LatissimusDorsiT2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_LatissimusDorsiT1','axis'),GetWrap('Wrap_LatissimusDorsiT2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiT1','radius'),GetWrap('Wrap_LatissimusDorsiT2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI LUMBAR
+ %----------------------------------------------------------------------
+ elseif Mident == 18
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Lumbar'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiL',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiL',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiL1','center'),GetWrap('Wrap_LatissimusDorsiL2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_LatissimusDorsiL1','axis'),GetWrap('Wrap_LatissimusDorsiL2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiL1','radius'),GetWrap('Wrap_LatissimusDorsiL2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI ILLIAC
+ %----------------------------------------------------------------------
+ elseif Mident == 19
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Iliac'};
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiI',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiI',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiI1','center'),GetWrap('Wrap_LatissimusDorsiI2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_LatissimusDorsiI1','axis'),GetWrap('Wrap_LatissimusDorsiI2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiI1','radius'),GetWrap('Wrap_LatissimusDorsiI2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID CLAVICULAR (FRONTAL)
+ %----------------------------------------------------------------------
+ elseif Mident == 20
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Clavicular (Ant)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Ant',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Ant',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Ant',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Ant','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Ant','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -GetWrap('Wrap_Deltoid_Ant','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID ACROMIAL (MIDDLE)
+ %----------------------------------------------------------------------
+ elseif Mident == 21
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Acromial (Mid)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Mid',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Mid',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Mid',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Mid',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Mid','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Mid','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Deltoid_Mid','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID SCAPULAR (POSTERIOR)
+ %----------------------------------------------------------------------
+ elseif Mident == 22
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Scapular (Post)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Post',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Post',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Post',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Post',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Post','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Post','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Deltoid_Post','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SUPRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 23
+
+ % name
+ MWDATA{Mident,1}.Name = {'Supraspinatus'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Supraspinatus',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Supraspinatus',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ %MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Supraspinatus',3);
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Supraspinatus',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = []; %it was initially 3
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Supraspinatus','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Supraspinatus','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Supraspinatus','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % INFRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 24
+
+ % name
+ MWDATA{Mident,1}.Name = {'Infraspinatus'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Infraspinatus',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Infraspinatus',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Infraspinatus',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Infraspinatus','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Infraspinatus','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Infraspinatus','radius');
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SUBSCAPULARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 25
+
+ % name
+ MWDATA{Mident,1}.Name = {'Subscapularis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subscapularis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Subscapularis',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subscapularis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Subscapularis','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Subscapularis','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Subscapularis','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TERES MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 26
+
+ % name
+ MWDATA{Mident,1}.Name = {'Teres Minor'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMinor',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_TeresMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TeresMinor','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_TeresMinor','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TeresMinor','radius');
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TERES MAJOR
+ %----------------------------------------------------------------------
+ elseif Mident == 27
+
+ % name
+ MWDATA{Mident,1}.Name = {'Teres Major'};
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMajor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMajor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TeresMajor','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_TeresMajor','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -GetWrap('Wrap_TeresMajor','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % CORACOBRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 28
+
+ % name
+ MWDATA{Mident,1}.Name = {'Coracobrachialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Coracobrachialis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Coracobrachialis',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Coracobrachialis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0;0;1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 29
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiLong',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiLong',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_TricepsBrachiiLong1','center'),GetWrap('Wrap_TricepsBrachiiLong2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_TricepsBrachiiLong1','axis'),GetWrap('Wrap_TricepsBrachiiLong2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_TricepsBrachiiLong1','radius'),-GetWrap('Wrap_TricepsBrachiiLong2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII MEDIAL
+ %----------------------------------------------------------------------
+ elseif Mident == 30
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Medial'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiMedial',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiMedial',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TricepsBrachiiMedial','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_TricepsBrachiiMedial','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TricepsBrachiiMedial','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII LATERAL
+ %----------------------------------------------------------------------
+ elseif Mident == 31
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Lateral'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiLateral',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_TricepsBrachiiLateral',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiLateral',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TricepsBrachiiLateral','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_TricepsBrachiiLateral','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TricepsBrachiiLateral','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BICEPS SHORT
+ %----------------------------------------------------------------------
+ elseif Mident == 32
+
+ % name
+ MWDATA{Mident,1}.Name = {'Biceps Short'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_BicepsShort',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_BicepsShort',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_BicepsShort1','center'),GetWrap('Wrap_BicepsShort2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_BicepsShort1','axis'),-GetWrap('Wrap_BicepsShort2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [-GetWrap('Wrap_BicepsShort1','radius'),-GetWrap('Wrap_BicepsShort2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BICEPS LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 33
+
+ % name
+ MWDATA{Mident,1}.Name = {'Biceps Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_BicepsLong',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_BicepsLong',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_BicepsLong1','center'),GetWrap('Wrap_BicepsLong2','center')];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_BicepsLong1','axis'),GetWrap('Wrap_BicepsLong2','axis')];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_BicepsLong1','radius'),GetWrap('Wrap_BicepsLong2','radius')];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 34
+
+ % name
+ MWDATA{Mident,1}.Name = {'Brachialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Brachialis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Brachialis',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Brachialis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Brachialis','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Brachialis','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -GetWrap('Wrap_Brachialis','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BRACHIORADIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 35
+
+ % name
+ MWDATA{Mident,1}.Name = {'Brachioradialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Brachioradialis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Brachioradialis',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Brachioradialis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Brachioradialis','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Brachioradialis','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Brachioradialis','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % SUPINATOR
+ %----------------------------------------------------------------------
+ elseif Mident == 36
+
+ % name
+ MWDATA{Mident,1}.Name = {'Supinator'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Supinator',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Supinator',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 4;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Supinator','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Supinator','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Supinator','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % PRONATOR TERES
+ %----------------------------------------------------------------------
+ elseif Mident == 37
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pronator Teres'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PronatorTeres',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_PronatorTeres',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PronatorTeres',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PronatorTeres','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PronatorTeres','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -GetWrap('Wrap_PronatorTeres','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % FLEXOR CARPI RADIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 38
+
+ % name
+ MWDATA{Mident,1}.Name = {'Flexor Carpi Radialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_FlexorCarpiRadialis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ % MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_FlexorCarpiRadialis',3);
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_FlexorCarpiRadialis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_FlexorCarpiRadialis','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3; %5 we agreed to put it on 3
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_FlexorCarpiRadialis','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_FlexorCarpiRadialis','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];% 5
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % FLEXOR CARPI ULNARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 39
+
+ % name
+ MWDATA{Mident,1}.Name = {'Flexor Carpi Ulnaris'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_FlexorCarpiUlnaris',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_FlexorCarpiUlnaris',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_FlexorCarpiUlnaris','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_FlexorCarpiUlnaris','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_FlexorCarpiUlnaris','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI RADIALIS LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 40
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Radialis Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorRadialisLong',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_ExtensorRadialisLong',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorRadialisLong',3);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorRadialisLong',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorRadialisLong','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorRadialisLong','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorRadialisLong','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 4;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 5;
+
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_ExtensorRadialisLong1','center'),GetWrap('Wrap_ExtensorRadialisLong2','center')];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,5];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_ExtensorRadialisLong1','axis'),GetWrap('Wrap_ExtensorRadialisLong2','axis')];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_ExtensorRadialisLong1','radius'),GetWrap('Wrap_ExtensorRadialisLong2','radius')];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = 5;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI RADIALIS BREVIS
+ %----------------------------------------------------------------------
+ elseif Mident == 41
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Radialis Brevis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorRadialisBrevis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+ % MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_ExtensorRadialisLong',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorRadialisBrevis',3);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorRadialisBrevis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorRadialisBrevis','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorRadialisBrevis','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorRadialisBrevis','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 5;
+
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_ExtensorRadialisBrevis1','center'),GetWrap('Wrap_ExtensorRadialisBrevis2','center')];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,5];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_ExtensorRadialisBrevis1','axis'),GetWrap('Wrap_ExtensorRadialisBrevis2','axis')];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_ExtensorRadialisBrevis1','radius'),GetWrap('Wrap_ExtensorRadialisBrevis2','radius')];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI ULNARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 42
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Ulnaris'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorUlnaris',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorUlnaris',3);
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorUlnaris',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorUlnaris','center');
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 4;% 5
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorUlnaris','axis');
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorUlnaris','radius');
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 4;
+
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_ExtensorUlnaris1','center'),GetWrap('Wrap_ExtensorUlnaris2','center')];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,5];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_ExtensorUlnaris1','axis'),GetWrap('Wrap_ExtensorUlnaris2','axis')];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_ExtensorUlnaris1','radius'),GetWrap('Wrap_ExtensorUlnaris2','radius')];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE ALL POINTS INTO MATLAB FRAME
+%--------------------------------------------------------------------------
+ % All the anchor points must be rotated into their associated frames.
+
+ for i = 1:3
+ % Rotate the Origin points
+ MWDATA{Mident,1}.AnchorOrigin{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorOrigin{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.OriginRef);
+
+ % Rotate the insertion points
+ MWDATA{Mident,1}.AnchorInsertion{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorInsertion{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.InsertionRef);
+
+ % If they exist, rotate the via points A
+ if isempty(MWDATA{Mident,1}.AnchorViaA{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaA{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaA{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaARef);
+ else
+ end
+
+ % If they exist, rotate the via points B
+ if isempty(MWDATA{Mident,1}.AnchorViaB{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaB{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaB{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaBRef);
+ else
+ end
+ end
+
+ % The strucutre initially uses a single segment. There is
+ % a predefined space for up to 20 segments.
+ MWDATA{Mident,1}.Insertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,2};
+ MWDATA{Mident,1}.ViaA{1,1} = MWDATA{Mident,1}.AnchorViaA{1,2};
+ MWDATA{Mident,1}.ViaB{1,1} = MWDATA{Mident,1}.AnchorViaB{1,2};
+ MWDATA{Mident,1}.Origin{1,1} = MWDATA{Mident,1}.AnchorOrigin{1,2};
+
+%--------------------------------------------------------------------------
+% ROTATE THE WRAPPING OBJECT
+%--------------------------------------------------------------------------
+ % The muscle has wrapping and the object must be rotated into
+ % the correct local bone frame.
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+ % rotate object centre
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)%we use the idx for the case of double cylinder when we have to objects with obviously two different centers
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx) =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ % rotate object axis
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ Rotate_Axis_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ else
+ % The muscle has no wrapping
+ end
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% END OF PRIMARY SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
+
+% All the points in AnatomicLandmarks are given in the AMIRA frame.
+% All points must be transformed into their associated MATLAB reference frames in the intial configuration.
+function P = Rotate_Point_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ);
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.SC);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.AA);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.GH);
+elseif frameId == 4
+ P = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.HU);
+elseif frameId == 5
+ P = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.CP);
+else
+ % The wrong frame was provided
+end
+return;
+
+function P = Rotate_Axis_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*Q;
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 4
+ P = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 5
+ P = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+
+else
+ % The wrong frame was provided
+end
+return;
+
+function points = GetPoints(setname, npoints)
+%
+% search landmark set in specified file called setname and return the first
+% npoints stored linewise.
+%
+
+% open file
+fileID = fopen('MuscleLandmarks_Male01.dat');
+
+if fileID==-1
+ error(' !!! INITIALISATION:GetPoints:Error: Can not open specified input file...aborting...')
+end
+
+line = fgetl(fileID);
+points=cell(1,npoints);
+stringfound=0;
+while ischar(line)
+ if strcmp(line,setname)
+ stringfound=1;
+ for i=npoints:-1:1 %:npoints
+ line=fgetl(fileID);
+ % remove white spaces
+ line = line(~isspace(line));
+ % split line
+ line = strsplit(line,',');
+ % convert to double
+ line = str2double(line);
+ % save point
+ points{i}=line';
+ end
+ % exit loop
+ line = [];
+ else
+ line = fgetl(fileID);
+ end
+end
+
+if stringfound==0
+ error(' !!! INITIALISATION:GetPoints:Error: Point set %s not found in input file...aborting...',setname);
+end
+fclose(fileID);
+return;
+
+
+function info = GetWrap(setname,type)
+%
+% search wrapping information in specified file called setname and return
+% center of wrapping object or axis or radius defined by type
+%
+
+% open file
+fileID = fopen('MuscleLandmarks_Male01.dat');
+
+if fileID==-1
+ error(' !!! INITIALISATION:GetWrap:Error: Can not open specified input file...aborting...')
+end
+
+line = fgetl(fileID);
+stringfound=0;
+while ischar(line)
+ if strcmp(line,setname)
+ stringfound=1;
+ if strcmp(type,'center')
+ % get first line
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double
+ info = (str2double(line))';
+ elseif strcmp(type,'axis')
+ % get second line
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double => axis given as axis-angle rotation vector for
+ % unit vector in z
+ line = str2double(line);
+ % convert rotation angle from radians to degrees
+ line(4) = line(4)*pi/180;
+ % compute rotation matrix
+ rotmat = vrrotvec2mat(line);
+ % get cylinder axis => initial axis is y-axis
+ info = rotmat*[0;1;0];
+ elseif strcmp(type,'radius')
+ % get third line
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double
+ line = str2double(line);
+ info = line(1);
+ end
+ % exit loop
+ line = [];
+ else
+ line = fgetl(fileID);
+ end
+end
+
+if stringfound==0
+ error(' !!! INITIALISATION:GetPoints:Error: Point set %s not found in input file...aborting...',setname);
+end
+fclose(fileID);
+
+return;
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_new.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_new.m
new file mode 100755
index 0000000..a0e1ac4
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_new.m
@@ -0,0 +1,1724 @@
+function MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping_new(BLDATA)
+% Function to initialise the muscle wrapping data set
+%--------------------------------------------------------------------------
+% Syntax :
+% MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram
+%
+% File Description :
+% This file builds the muscle data structure for all the muscles. The data
+% is defined in the AMIRA reference system. The script finishes with a
+% transformation of all the data into the MATLAB reference frame. The data
+% is contained in a 28 x 1 cell. Each element of the cell is a structure.
+%
+% Data Structure Format :
+% Anchor Points for the Splines
+% MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+% MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+%
+% Actual origin/insertion points once number of segments is decided
+% MWDATA{Mident,1}.Origin = cell(1,20);
+% MWDATA{Mident,1}.ViaA = cell(1,20);
+% MWDATA{Mident,1}.ViaB = cell(1,20);
+% MWDATA{Mident,1}.Insertion = cell(1,20);
+%
+% Information regarding the muscle
+% MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+% MWDATA{Mident,1}.MSCInfo.ObjType = [];
+% MWDATA{Mident,1}.MSCInfo.ObjZaxis = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii= [];
+% MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.InterpType = 'Bi-Linear';
+% MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+% MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale= 1/2;
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+% MWDATA{Mident,1}.MSCInfo.PCSA
+% MWDATA{Mident,1}.MSCInfo.Fmax
+% MWDATA{Mident,1}.MSCInfo.Lmax
+% MWDATA{Mident,1}.MSCInfo.Lmin
+%
+% The data structure also contains information regarding the muscle
+% internal model for computing the maximum permissible force.
+% Optimum Fiber Length :
+% MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MWDATA = cell(28,1);
+
+% List of Physical Cross-Sectional Areas
+PCSA0 = 1.e-4*[...
+ 4.36; % Subclavius
+ 8.12; % Serratus Anterior Upper
+ 4; % Serratus Anterior Middle
+ 8.41; % Serratus Anterior Lower
+ 6.24; % Trapezius C1 - C6
+ 3.61; % Trapezius C7
+ 3.45; % Trapezius T1
+ 12.4; % Trapezius T2 - T7
+ 3.78; % Levator Scapulae
+ 6.71; % Rhomboid Minor
+ 4.14; % Rhomboid Major T1 - T2
+ 2.48; % Rhomboid Major T3 - T4
+ 4.87; % Pectoralis Minor
+ 10.38; % Pectoralis Major Clavicular
+ 14.68; % Pectoralis Major Sternal
+ 11.14; % Pectoralis Major Ribs
+ 5.26; % Latisimuss Dorsi Thoracic
+ 5.26; % Latisimuss Dorsi Lumbar
+ 3.8; % Latisimuss Dorsi Iliac
+ 8.41; % Deltoid Clavicular
+ 56.38; % Deltoid Acromial
+ 17.19; % Deltoid Scapular
+ 20.84; % Supraspinatus
+ 33.32; % Infraspinatus
+ 35.69; % Subscapularis
+ 6.77; % Teres Minor
+ 15.69; % Teres Major
+ 4.55]; % Coracobrachialis
+
+% Maximum force values
+Fmax0 = [...
+ 144.02; % Subclavius
+ 268.05; % Serratus Anterior Upper
+ 132.12; % Serratus Anterior Middle
+ 277.51; % Serratus Anterior Lower
+ 205.95; % Trapezius C1 - C6
+ 119.25; % Trapezius C7
+ 114.01; % Trapezius T1
+ 409.23; % Trapezius T2 - T7
+ 124.78; % Levator Scapulae
+ 221.51; % Rhomboid Minor
+ 136.48; % Rhomboid Major T1 - T2
+ 81.93; % Rhomboid Major T3 - T4
+ 160.55; % Pectoralis Minor
+ 342.46; % Pectoralis Major Clavicular
+ 484.35; % Pectoralis Major Sternal
+ 367.78; % Pectoralis Major Ribs
+ 173.43; % Latisimuss Dorsi Thoracic
+ 173.88; % Latisimuss Dorsi Lumbar
+ 125.52; % Latisimuss Dorsi Iliac
+ 277.48; % Deltoid Clavicular
+ 1860.52; % Deltoid Acromial
+ 567.15; % Deltoid Scapular
+ 687.84; % Supraspinatus
+ 1099.61; % Infraspinatus
+ 1177.93; % Subscapularis
+ 223.35; % Teres Minor
+ 514.51; % Teres Major
+ 150.05]; % Coracobrachialis
+
+% Maximum Muscle Fiber Lengths (m)
+Lmax0 = [...
+ 0.1015; % Subclavius
+ 0.1224; % Serratus Anterior Upper
+ 0.1932; % Serratus Anterior Middle
+ 0.2489; % Serratus Anterior Lower
+ 0.2012; % Trapezius C1 - C6
+ 0.2321; % Trapezius C7
+ 0.2110; % Trapezius T1
+ 0.1692; % Trapezius T2 - T7
+ 0.2062; % Levator Scapulae
+ 0.1900; % Rhomboid Minor
+ 0.1930; % Rhomboid Major T1 - T2
+ 0.1996; % Rhomboid Major T3 - T4
+ 0.1575; % Pectoralis Minor
+ 0.2892; % Pectoralis Major Clavicular
+ 0.3224; % Pectoralis Major Sternal
+ 0.3443; % Pectoralis Major Ribs
+ 0.4214; % Latisimuss Dorsi Thoracic
+ 0.5600; % Latisimuss Dorsi Lumbar
+ 0.5718; % Latisimuss Dorsi Iliac
+ 0.2122; % Deltoid Clavicular
+ 0.1822; % Deltoid Acromial
+ 0.2414; % Deltoid Scapular
+ 0.1880; % Supraspinatus
+ 0.1529; % Infraspinatus
+ 0.1311; % Subscapularis
+ 0.1257; % Teres Minor
+ 0.1927; % Teres Major
+ 0.2124]; % Coracobrachialis
+
+% Maximum Muscle Fiber Lengths
+Lmin0 = [...
+ 0.0628; % Subclavius
+ 0.0584; % Serratus Anterior Upper
+ 0.1123; % Serratus Anterior Middle
+ 0.1343; % Serratus Anterior Lower
+ 0.0946; % Trapezius C1 - C6
+ 0.1094; % Trapezius C7
+ 0.0776; % Trapezius T1
+ 0.0971; % Trapezius T2 - T7
+ 0.1204; % Levator Scapulae
+ 0.0872; % Rhomboid Minor
+ 0.0791; % Rhomboid Major T1 - T2
+ 0.0693; % Rhomboid Major T3 - T4
+ 0.0813; % Pectoralis Minor
+ 0.0883; % Pectoralis Major Clavicular
+ 0.1259; % Pectoralis Major Sternal
+ 0.1837; % Pectoralis Major Ribs
+ 0.2118; % Latisimuss Dorsi Thoracic
+ 0.3573; % Latisimuss Dorsi Lumbar
+ 0.3978; % Latisimuss Dorsi Iliac
+ 0.0911; % Deltoid Clavicular
+ 0.1105; % Deltoid Acromial
+ 0.1241; % Deltoid Scapular
+ 0.1445; % Supraspinatus
+ 0.0918; % Infraspinatus
+ 0.0940; % Subscapularis
+ 0.0600; % Teres Minor
+ 0.1058; % Teres Major
+ 0.1411]; % Coracobrachialis
+
+% Optimum fiber length
+Lopt0 = [...
+ 0.1158;
+ 0.0894;
+ 0.1995;
+ 0.1620;
+ 0.1432;
+ 0.1420;
+ 0.1311;
+ 0.1850;
+ 0.0960;
+ 0.0731;
+ 0.0734;
+ 0.0751;
+ 0.1475;
+ 0.1432;
+ 0.1677;
+ 0.1913;
+ 0.2351;
+ 0.3105;
+ 0.3623;
+ 0.2056;
+ 0.2005;
+ 0.1927;
+ 0.1317;
+ 0.1414;
+ 0.1208;
+ 0.0849;
+ 0.1230;
+ 0.1290];
+
+% Run through all the Muscles
+for Mident = 1:28
+ MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+ MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+ MWDATA{Mident,1}.Origin = cell(1,20);
+ MWDATA{Mident,1}.ViaA = cell(1,20);
+ MWDATA{Mident,1}.ViaB = cell(1,20);
+ MWDATA{Mident,1}.Insertion = cell(1,20);
+ MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+ % This data is initially common to all
+ MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.InterpType = 'Bi-Linear';
+ MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+
+ % The radii are in truth the object diameters
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale = 1/2;
+
+ % There are 12 points on the wrapping surface
+ MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+
+ % This parameter is incase the muscle' object radiius requires
+ % modification. This factor is only used in the visualisation of the
+ % muscle's object.
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+
+ % This will be defined once the muscle model is completely defined
+ MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);
+
+ %----------------------------------------------------------------------
+ % SUBLCAVIUS
+ %----------------------------------------------------------------------
+ if Mident == 1
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subclavius',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subclavius',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR SUPERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 2
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Sup',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Sup',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 33.7391; -0.826292; 99.249];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.25;1.15;-1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -78.88;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR MIDDLE PART
+ %----------------------------------------------------------------------
+ elseif Mident == 3
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Mid',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Mid',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 30; -30; 30];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.3; 1; -0.05];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -155.82 ;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR INFERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 4
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Inf',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Inf',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 65; -45; -65.7954];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [ 0.283423; 0.957817; -0.047525];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -223.16;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C1 - C6
+ %----------------------------------------------------------------------
+ elseif Mident == 5
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius1_desc',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius1_desc',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 38.3735; -15.4232; 153.044];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.166575; 0.982514; 0.083181];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = 44.1;
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[38.3735; -15.4232; 153.044], [-15.51; -14.18; 144.10]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0, 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.166575; 0.982514; 0.083181], [-0.2181; 0.5215; 0.8249]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [44.1, -20];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C7
+ %----------------------------------------------------------------------
+ elseif Mident == 6
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius2_trans1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius2_trans1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 23.1081; 17.2498; 106.796];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 94.60;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T1
+ %----------------------------------------------------------------------
+ elseif Mident == 7
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius3_trans2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius3_trans2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 22.9631; 18.6087; 105.564];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1.5;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 90;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T2 - T7
+ %----------------------------------------------------------------------
+ elseif Mident == 8
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius4_ascen',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius4_ascen',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 25; -15; 23.8976];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.1; 0.993127; -0.115173];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 130;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LEVATOR SCAPULAE
+ %----------------------------------------------------------------------
+ elseif Mident == 9
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LevatorScapula',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LevatorScapula',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 10
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T1 - T2
+ %----------------------------------------------------------------------
+ elseif Mident == 11
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 35.5873; -10; 80];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1.5;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 140;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T3 - T4
+ %----------------------------------------------------------------------
+ elseif Mident == 12
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 35.2838; -10; 45];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;3.0;-0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 140;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 13
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR CLAVICULAR
+ %----------------------------------------------------------------------
+ elseif Mident == 14
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorC',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorC',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -41.3096; -3.53952; 46.6423];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.4; 0.7; 0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR STERNAL
+ %----------------------------------------------------------------------
+ elseif Mident == 15
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT1',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT1',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 15; -25; 0];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;10;-0.1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR RIBS
+ %----------------------------------------------------------------------
+ elseif Mident == 16
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT2',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT2',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 15; -40; 0];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2;1;-0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI THORACIC
+ %----------------------------------------------------------------------
+ elseif Mident == 17
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiT',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiT',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[20; -30; -37],[-60; 0; 75]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 2];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[0.05; 1; -0.25],[1; 1; 0.35]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [140; -40];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI LUMBAR
+ %----------------------------------------------------------------------
+ elseif Mident == 18
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiL',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiL',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[30; -49.8121; -86.8349], [-83; -13; 70]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.3; 1; 0.1], [0.1; 1; -0.2]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [148.88; -35];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI ILLIAC
+ %----------------------------------------------------------------------
+ elseif Mident == 19
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiI',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiI',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[35; -55; -164.025], [-75; -22; 50]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.3; 1; 0.1], [0.2; 1; -0.2]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [130; -25];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID CLAVICULAR (FRONTAL)
+ %----------------------------------------------------------------------
+ elseif Mident == 20
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Ant',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Ant',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Ant',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -85; -30; 98];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.4;1;1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -80;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID ACROMIAL (MIDDLE)
+ %----------------------------------------------------------------------
+ elseif Mident == 21
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Mid',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Mid',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Mid',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Mid',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -91; -34; 101];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.1;1.0;0.3];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 85;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID SCAPULAR (POSTERIOR)
+ %----------------------------------------------------------------------
+ elseif Mident == 22
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Post',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Post',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Post',3);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Post',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -74; -21; 103];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.2;1;0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 90;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SUPRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 23
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Supraspinatus',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Supraspinatus',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Supraspinatus',3);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Supraspinatus',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % INFRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 24
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Infraspinatus',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Infraspinatus',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Infraspinatus',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -82.5103; -19.2801; 99.9505];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2;1.0;0.1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 51.06;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SUBSCAPULARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 25
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subscapularis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Subscapularis',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subscapularis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [-49.6409; -13.7723; 139.708];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.0;1.0;-0.5];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -30.82;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TERES MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 26
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMinor',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_TeresMinor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMinor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -85; -20; 110];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2; 1.5; 0.3];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 40;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TERES MAJOR
+ %----------------------------------------------------------------------
+ elseif Mident == 27
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMajor',3);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMajor',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -30; 15; 23.165];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.3;1.0;0.5];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 48;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % CORACOBRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 28
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Coracobrachialis',3);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Coracobrachialis',3);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Coracobrachialis',3);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -60; -10; 80];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1.0;1.0;0.4];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -34.62;
+
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE ALL POINTS INTO MATLAB FRAME
+%--------------------------------------------------------------------------
+ % All the anchor points must be rotated into the correct frame.
+
+ for i = 1:3
+ % Rotate the origin points
+ MWDATA{Mident,1}.AnchorOrigin{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorOrigin{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.OriginRef);
+
+ % Rotate the insertion points
+ MWDATA{Mident,1}.AnchorInsertion{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorInsertion{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.InsertionRef);
+
+ % If they exist, rotate the via points A
+ if isempty(MWDATA{Mident,1}.AnchorViaA{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaA{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaA{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaARef);
+ else
+ end
+
+ % If they exist, rotate the via points B
+ if isempty(MWDATA{Mident,1}.AnchorViaB{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaB{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaB{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaBRef);
+ else
+ end
+ end
+
+ % The strucutre initially uses a single segment. There is
+ % predefined space for 20 segments
+ MWDATA{Mident,1}.Insertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,2};
+ MWDATA{Mident,1}.ViaA{1,1} = MWDATA{Mident,1}.AnchorViaA{1,2};
+ MWDATA{Mident,1}.ViaB{1,1} = MWDATA{Mident,1}.AnchorViaB{1,2};
+ MWDATA{Mident,1}.Origin{1,1} = MWDATA{Mident,1}.AnchorOrigin{1,2};
+
+%--------------------------------------------------------------------------
+% ROTATE THE Z-AXIS
+%--------------------------------------------------------------------------
+ % The Z-axis is defined in the ISB referece system. It must be
+ % transformed. The transformation ISB to MATLAB Rotation Matrix is
+ Rmi = [0, 0, 1;
+ 1, 0, 0;
+ 0, 1, 0];
+
+ % If there is an object, the object Axis musct be converted
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ %--------------------------------------------------------------
+ if MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 0 % Thorax Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 1 % Clavicula Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rc'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 2 % Scapula Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rs'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 3 % Humerus Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rh'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ end
+ end
+ else
+ % There is no object
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE THE OBJECT CENTRE
+%--------------------------------------------------------------------------
+ % The muscle has wrapping and the object centre must be rotated into
+ % the correct local bone frame.
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx) =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ % The muscle has no wrapping
+ else
+ end
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% END OF PRIMARY SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
+
+% All the points are given in the AMIRA frame. All points must be converted
+% to the MATLAB reference frame in the intial configuration.
+function P = Rotate_Point_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ);
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.SC);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.AA);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.GH);
+else
+ % The wrong frame was provided
+end
+return;
+
+function points = GetPoints(setname, npoints)
+%
+% search landmark set in specified file called setname and return the first
+% npoints stored linewise.
+%
+
+% open file
+fileID = fopen('AnatomicLandmarks.dat');
+
+if fileID==-1
+ error(' !!! INITIALISATION:GetPoints:Error: Can not open specified input file...aborting...')
+end
+
+line = fgetl(fileID);
+points=cell(1,npoints);
+stringfound=0;
+while ischar(line)
+ if strcmp(line,setname)
+ stringfound=1;
+ for i=1:npoints
+ line=fgetl(fileID);
+ % remove white spaces
+ line = line(~isspace(line));
+ % split line
+ line = strsplit(line,',');
+ % convert to double
+ line = str2double(line);
+ % save point
+ points{i}=line';
+ end
+ % exit loop
+ line = [];
+ else
+ line = fgetl(fileID);
+ end
+end
+
+if stringfound==0
+ error(' !!! INITIALISATION:GetPoints:Error: Point set %s not found in input file...aborting...',setname);
+end
+return;
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_old.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_old.m
new file mode 100755
index 0000000..b083bd8
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_muscle_wrapping_old.m
@@ -0,0 +1,1798 @@
+function MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping_old(BLDATA)
+% Function to initialise the muscle wrapping data set
+%--------------------------------------------------------------------------
+% Syntax :
+% MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram
+%
+% File Description :
+% This file builds the muscle data structure for all the muscles. The data
+% is defined in the AMIRA reference system. The script finishes with a
+% transformation of all the data into the MATLAB reference frame. The data
+% is contained in a 28 x 1 cell. Each element of the cell is a structure.
+%
+% Data Structure Format :
+% Anchor Points for the Splines
+% MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+% MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+%
+% Actual origin/insertion points once number of segments is decided
+% MWDATA{Mident,1}.Origin = cell(1,20);
+% MWDATA{Mident,1}.ViaA = cell(1,20);
+% MWDATA{Mident,1}.ViaB = cell(1,20);
+% MWDATA{Mident,1}.Insertion = cell(1,20);
+%
+% Information regarding the muscle
+% MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+% MWDATA{Mident,1}.MSCInfo.ObjType = [];
+% MWDATA{Mident,1}.MSCInfo.ObjZaxis = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii= [];
+% MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.InterpType = 'Bi-Linear';
+% MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+% MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale= 1/2;
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+% MWDATA{Mident,1}.MSCInfo.PCSA
+% MWDATA{Mident,1}.MSCInfo.Fmax
+% MWDATA{Mident,1}.MSCInfo.Lmax
+% MWDATA{Mident,1}.MSCInfo.Lmin
+%
+% The data structure also contains information regarding the muscle
+% internal model for computing the maximum permissible force.
+% Optimum Fiber Length :
+% MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MWDATA = cell(28,1);
+
+% List of Physical Cross-Sectional Areas
+PCSA0 = 1.e-4*[...
+ 4.36; % Subclavius
+ 8.12; % Serratus Anterior Upper
+ 4; % Serratus Anterior Middle
+ 8.41; % Serratus Anterior Lower
+ 6.24; % Trapezius C1 - C6
+ 3.61; % Trapezius C7
+ 3.45; % Trapezius T1
+ 12.4; % Trapezius T2 - T7
+ 3.78; % Levator Scapulae
+ 6.71; % Rhomboid Minor
+ 4.14; % Rhomboid Major T1 - T2
+ 2.48; % Rhomboid Major T3 - T4
+ 4.87; % Pectoralis Minor
+ 10.38; % Pectoralis Major Clavicular
+ 14.68; % Pectoralis Major Sternal
+ 11.14; % Pectoralis Major Ribs
+ 5.26; % Latisimuss Dorsi Thoracic
+ 5.26; % Latisimuss Dorsi Lumbar
+ 3.8; % Latisimuss Dorsi Iliac
+ 8.41; % Deltoid Clavicular
+ 56.38; % Deltoid Acromial
+ 17.19; % Deltoid Scapular
+ 20.84; % Supraspinatus
+ 33.32; % Infraspinatus
+ 35.69; % Subscapularis
+ 6.77; % Teres Minor
+ 15.69; % Teres Major
+ 4.55]; % Coracobrachialis
+
+% Maximum force values
+Fmax0 = [...
+ 144.02; % Subclavius
+ 268.05; % Serratus Anterior Upper
+ 132.12; % Serratus Anterior Middle
+ 277.51; % Serratus Anterior Lower
+ 205.95; % Trapezius C1 - C6
+ 119.25; % Trapezius C7
+ 114.01; % Trapezius T1
+ 409.23; % Trapezius T2 - T7
+ 124.78; % Levator Scapulae
+ 221.51; % Rhomboid Minor
+ 136.48; % Rhomboid Major T1 - T2
+ 81.93; % Rhomboid Major T3 - T4
+ 160.55; % Pectoralis Minor
+ 342.46; % Pectoralis Major Clavicular
+ 484.35; % Pectoralis Major Sternal
+ 367.78; % Pectoralis Major Ribs
+ 173.43; % Latisimuss Dorsi Thoracic
+ 173.88; % Latisimuss Dorsi Lumbar
+ 125.52; % Latisimuss Dorsi Iliac
+ 277.48; % Deltoid Clavicular
+ 1860.52; % Deltoid Acromial
+ 567.15; % Deltoid Scapular
+ 687.84; % Supraspinatus
+ 1099.61; % Infraspinatus
+ 1177.93; % Subscapularis
+ 223.35; % Teres Minor
+ 514.51; % Teres Major
+ 150.05]; % Coracobrachialis
+
+% Maximum Muscle Fiber Lengths (m)
+Lmax0 = [...
+ 0.1015; % Subclavius
+ 0.1224; % Serratus Anterior Upper
+ 0.1932; % Serratus Anterior Middle
+ 0.2489; % Serratus Anterior Lower
+ 0.2012; % Trapezius C1 - C6
+ 0.2321; % Trapezius C7
+ 0.2110; % Trapezius T1
+ 0.1692; % Trapezius T2 - T7
+ 0.2062; % Levator Scapulae
+ 0.1900; % Rhomboid Minor
+ 0.1930; % Rhomboid Major T1 - T2
+ 0.1996; % Rhomboid Major T3 - T4
+ 0.1575; % Pectoralis Minor
+ 0.2892; % Pectoralis Major Clavicular
+ 0.3224; % Pectoralis Major Sternal
+ 0.3443; % Pectoralis Major Ribs
+ 0.4214; % Latisimuss Dorsi Thoracic
+ 0.5600; % Latisimuss Dorsi Lumbar
+ 0.5718; % Latisimuss Dorsi Iliac
+ 0.2122; % Deltoid Clavicular
+ 0.1822; % Deltoid Acromial
+ 0.2414; % Deltoid Scapular
+ 0.1880; % Supraspinatus
+ 0.1529; % Infraspinatus
+ 0.1311; % Subscapularis
+ 0.1257; % Teres Minor
+ 0.1927; % Teres Major
+ 0.2124]; % Coracobrachialis
+
+% Maximum Muscle Fiber Lengths
+Lmin0 = [...
+ 0.0628; % Subclavius
+ 0.0584; % Serratus Anterior Upper
+ 0.1123; % Serratus Anterior Middle
+ 0.1343; % Serratus Anterior Lower
+ 0.0946; % Trapezius C1 - C6
+ 0.1094; % Trapezius C7
+ 0.0776; % Trapezius T1
+ 0.0971; % Trapezius T2 - T7
+ 0.1204; % Levator Scapulae
+ 0.0872; % Rhomboid Minor
+ 0.0791; % Rhomboid Major T1 - T2
+ 0.0693; % Rhomboid Major T3 - T4
+ 0.0813; % Pectoralis Minor
+ 0.0883; % Pectoralis Major Clavicular
+ 0.1259; % Pectoralis Major Sternal
+ 0.1837; % Pectoralis Major Ribs
+ 0.2118; % Latisimuss Dorsi Thoracic
+ 0.3573; % Latisimuss Dorsi Lumbar
+ 0.3978; % Latisimuss Dorsi Iliac
+ 0.0911; % Deltoid Clavicular
+ 0.1105; % Deltoid Acromial
+ 0.1241; % Deltoid Scapular
+ 0.1445; % Supraspinatus
+ 0.0918; % Infraspinatus
+ 0.0940; % Subscapularis
+ 0.0600; % Teres Minor
+ 0.1058; % Teres Major
+ 0.1411]; % Coracobrachialis
+
+% Optimum fiber length
+Lopt0 = [...
+ 0.1158;
+ 0.0894;
+ 0.1995;
+ 0.1620;
+ 0.1432;
+ 0.1420;
+ 0.1311;
+ 0.1850;
+ 0.0960;
+ 0.0731;
+ 0.0734;
+ 0.0751;
+ 0.1475;
+ 0.1432;
+ 0.1677;
+ 0.1913;
+ 0.2351;
+ 0.3105;
+ 0.3623;
+ 0.2056;
+ 0.2005;
+ 0.1927;
+ 0.1317;
+ 0.1414;
+ 0.1208;
+ 0.0849;
+ 0.1230;
+ 0.1290];
+
+% Run through all the Muscles
+for Mident = 1:28
+ MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+ MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+ MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+ MWDATA{Mident,1}.Origin = cell(1,20);
+ MWDATA{Mident,1}.ViaA = cell(1,20);
+ MWDATA{Mident,1}.ViaB = cell(1,20);
+ MWDATA{Mident,1}.Insertion = cell(1,20);
+ MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+ % This data is initially common to all
+ MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+ MWDATA{Mident,1}.MSCInfo.InterpType = 'Bi-Linear';
+ MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+
+ % The radii are in truth the object diameters
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale = 1/2;
+
+ % There are 12 points on the wrapping surface
+ MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+
+ % This parameter is incase the muscle' object radiius requires
+ % modification. This factor is only used in the visualisation of the
+ % muscle's object.
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+
+ % This will be defined once the muscle model is completely defined
+ MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);
+
+ %----------------------------------------------------------------------
+ % SUBLCAVIUS
+ %----------------------------------------------------------------------
+ if Mident == 1
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [45.35; -70.78; 60.95];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [42.67; -72.62; 57.57];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [39.22; -73.68; 54.57];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-27.61; -41.68; 125.89];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-36.80; -34.53; 132.75];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-42.68; -27.90; 136.84];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR SUPERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 2
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [3.22; 51.16; 113.15];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [5.56; 45.73; 127.90];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [8.25; 31.90; 143.06];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [20.05; -43.53; 65.87];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-4.76; -35.34; 95.40];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [7.11; -25.46; 107.48];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 33.7391; -0.826292; 99.249];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.25;1.15;-1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -78.88;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR MIDDLE PART
+ %----------------------------------------------------------------------
+ elseif Mident == 3
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [3.690; 51.11; 107.06];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [0.960; 53.17; 81.43];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [3.034; 53.57; 36.62];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-31.00; -64.37; 18.50];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-37.46; -83.85; -44.95];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-41.32; -79.71; -63.80];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 30; -30; 30];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.3; 1; -0.05];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -155.82 ;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR INFERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 4
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [ 2.060; 53.91; 30.03];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [ 2.298; 47.19; -0.12];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-7.270; 39.47; -4.05];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-39.69; -75.99; -88.47];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-38.39; -58.12; -111.94];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-37.91; -32.91; -125.93];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 65; -45; -65.7954];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [ 0.283423; 0.957817; -0.047525];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -223.16;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C1 - C6
+ %----------------------------------------------------------------------
+ elseif Mident == 5
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-64.41; -15.76; 150.67];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-45.51; -24.18; 144.10];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-32.01; -33.66; 136.14];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [73.89; -0.56; 192.46];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [65.90; -3.38; 205.93];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [50.12; -14.66; 205.93];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[38.3735; -15.4232; 153.044], [-15.51; -14.18; 144.10]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0, 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.166575; 0.982514; 0.083181], [-0.2181; 0.5215; 0.8249]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [44.1, -20];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C7
+ %----------------------------------------------------------------------
+ elseif Mident == 6
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-83.16; -6.99; 145.60];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-73.86; 10.25; 145.22];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-63.57; 19.36; 142.42];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [66.98; 12.31; 170.79];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [61.68; 24.75; 156.78];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [63.36; 31.17; 134.67];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 23.1081; 17.2498; 106.796];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 94.60;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T1
+ %----------------------------------------------------------------------
+ elseif Mident == 7
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-59.05; 23.17; 141.90];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-51.07; 33.01; 138.20];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-38.09; 45.75; 133.01];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [67.26; 32.25; 132.81];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [66.36; 38.69; 110.14];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [65.72; 40.56; 88.41];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 22.9631; 18.6087; 105.564];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1.5;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 90;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T2 - T7
+ %----------------------------------------------------------------------
+ elseif Mident == 8
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [ -5.60; 53.48; 121.31];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-15.89; 51.95; 120.89];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-24.57; 50.38; 121.23];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [68.17; 46.10; 84.34];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [75.69; 36.62; -38.65];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [82.79; 10.37; -148.25];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 25; -15; 23.8976];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.1; 0.993127; -0.115173];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 130;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LEVATOR SCAPULAE
+ %----------------------------------------------------------------------
+ elseif Mident == 9
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [2.38; 48.22; 129.53];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [6.18; 43.42; 132.70];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [5.73; 35.80; 144.63];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [51.85; 1.32; 200.20];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [51.85; 1.32; 205.93];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [50.99; -9.49; 226.95];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 10
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [1.679; 54.08; 109.41];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [1.649; 52.70; 118.99];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [5.247; 47.09; 128.58];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [63.69; 32.18; 134.33];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [65.74; 30.72; 146.54];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [65.84; 24.41; 156.31];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T1 - T2
+ %----------------------------------------------------------------------
+ elseif Mident == 11
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [1.514; 55.31; 54.99];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [1.070; 55.46; 75.31];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [1.320; 55.09; 97.58];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [67.69; 45.01; 85.29];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [66.67; 41.74; 100.36];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [66.18; 39.78; 122.88];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 35.5873; -10; 80];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;1.5;0];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 140;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T3 - T4
+ %----------------------------------------------------------------------
+ elseif Mident == 12
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [2.830; 55.23; 8.86];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [2.662; 56.03; 25.74];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [3.150; 55.90; 45.74];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [72.00; 45.32; 27.79];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [69.45; 52.67; 55.99];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [67.03; 51.28; 69.93];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 35.2838; -10; 45];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;3.0;-0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 140;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 13
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-45.29; -45.70; 117.46];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-43.77; -41.49; 119.35];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-41.82; -37.28; 121.60];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-32.58; -90.38; -49.94];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-29.78; -81.84; -21.88];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-27.23; -67.95; 14.08];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR CLAVICULAR
+ %----------------------------------------------------------------------
+ elseif Mident == 14
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-88.45; -41.09; 13.15];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-88.45; -42.50; 18.67];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-88.24; -43.74; 26.16];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [41.71; -78.59; 80.91];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [23.20; -73.45; 89.76];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [ 5.54; -71.57; 96.38];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -41.3096; -3.53952; 46.6423];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.4; 0.7; 0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR STERNAL
+ %----------------------------------------------------------------------
+ elseif Mident == 15
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-88.06; -43.58; 24.39];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-87.53; -43.63; 32.30];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-88.01; -44.18; 39.68];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [69.91; -101.47; 16.03];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [66.90; -91.03; 34.52];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [54.40; -79.13; 53.49];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 15; -25; 0];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1;10;-0.1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR RIBS
+ %----------------------------------------------------------------------
+ elseif Mident == 16
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-87.89; -44.31; 36.75];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-87.24; -44.94; 45.68];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-86.38; -46.02; 55.31];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [71.11; -122.70; -47.98];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [70.11; -117.66; -20.26];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [69.98; -106.40; 6.50];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ 15; -40; 0];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2;1;-0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -140.00;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI THORACIC
+ %----------------------------------------------------------------------
+ elseif Mident == 17
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-86.41; -45.80; 56.10];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-86.03; -44.10; 62.38];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-86.68; -45.09; 66.98];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [79.34; 20.94; -120.93];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [75.84; 31.53; -66.96];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [72.34; 42.97; -6.96];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[20; -30; -37],[-60; 0; 75]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 2];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[0.05; 1; -0.25],[1; 1; 0.35]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [140; -40];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI LUMBAR
+ %----------------------------------------------------------------------
+ elseif Mident == 18
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-86.30; -44.95; 50.77];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-86.02; -45.51; 55.87];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-86.81; -44.33; 61.03];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [82.44; -12.280; -215.70];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [82.44; -0.788; -182.12];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [82.99; 8.920; -147.09];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[30; -49.8121; -86.8349], [-83; -13; 70]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.3; 1; 0.1], [0.1; 1; -0.2]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [148.88; -35];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI ILLIAC
+ %----------------------------------------------------------------------
+ elseif Mident == 19
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-86.61; -45.57; 48.04];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-86.08; -44.67; 52.78];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-86.29; -44.51; 57.26];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [77.70; -13.08; -277.15];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [75.41; -20.47; -254.94];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [75.41; -18.49; -232.99];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [[35; -55; -164.025], [-75; -22; 50]];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [[-0.3; 1; 0.1], [0.2; 1; -0.2]];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [130; -25];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID CLAVICULAR (FRONTAL)
+ %----------------------------------------------------------------------
+ elseif Mident == 20
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-97.13; -43.13; -43.81];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-98.02; -41.64; -36.40];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-98.11; -42.59; -26.62];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [ -92.87; -68.79; 24.32];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [ -97.35; -65.09; 23.10];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [-103.20; -60.80; 22.62];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-45.38; -34.53; 140.08];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-61.31; -30.44; 145.182];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-80.60; -32.00; 147.99];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -85; -30; 98];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.4;1;1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -80;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID ACROMIAL (MIDDLE)
+ %----------------------------------------------------------------------
+ elseif Mident == 21
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-102.14; -39.47; -38.47];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-103.99; -39.95; -31.97];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-102.21; -39.32; -26.79];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [-106.43; -50.68; -9.699];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [-108.56; -48.48; -9.699];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [-112.01; -47.42; -5.113];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [-112.81; -42.58; 136.91]+[20; -10; 4];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [-117.65; -20.52; 134.47]+[5; -20; 0];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [-113.05; -3.139; 126.71];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [ -86.12; -36.66; 142.55];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [ -99.73; -34.57; 137.85];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-104.17; -0.87; 133.89];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -91; -34; 101];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.1;1.0;0.3];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 85;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % DELTOID SCAPULAR (POSTERIOR)
+ %----------------------------------------------------------------------
+ elseif Mident == 22
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-105.34; -35.43; -32.45];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-105.22; -35.62; -27.32];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-103.93; -35.71; -24.02];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [-117.30; -45.76; 2.860];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [-118.14; -37.59; 0.323];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [-116.83; -30.06; -5.480];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [-113.92; -4.264; 125.84];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [ -97.37; 15.15; 126.24];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [ -78.22; 28.07; 115.93];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-101.32; 1.40; 133.11];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-79.31; 15.64; 137.99];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-47.15; 39.74; 128.56];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -74; -21; 103];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-0.2;1;0.2];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 90;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SUPRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 23
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-109.31; -33.88; 112.73];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-107.97; -36.57; 114.46];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-107.14; -42.48; 113.80];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1}= [-104.81; -30.61; 127.57];
+ MWDATA{Mident,1}.AnchorViaB{1,2}= [-104.64; -35.40; 126.89];
+ MWDATA{Mident,1}.AnchorViaB{1,3}= [-102.48; -39.47; 126.24];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [-56.63; -3.79; 125.77];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [-56.94; -3.51; 130.45];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [-55.52; -3.57; 137.93];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-8.09; 30.01; 129.43];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-3.04; 25.26; 134.80];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-2.78; 21.11; 140.77];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; 1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % INFRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 24
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-107.53; -28.02; 99.15];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-108.13; -27.92; 106.05];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-108.01; -30.44; 112.84];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [-73.92; 21.41; 71.66];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [-75.97; 17.10; 89.40];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [-76.62; 17.46; 108.10];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [ -5.936; 52.77; 15.55];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [ -9.070; 52.01; 63.59];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-10.090; 47.30; 109.30];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -82.5103; -19.2801; 99.9505];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2;1.0;0.1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 51.06;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % SUBSCAPULARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 25
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-74.34; -45.20; 88.78];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-70.78; -51.08; 96.51];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-69.35; -51.08; 102.79];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [-34.39; -2.81; 67.65];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [-33.27; -3.94; 79.83];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [-26.31; -9.20; 110.28];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [ -8.16; 45.41; 19.96];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [ -9.93; 42.08; 106.84];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-11.28; 29.11; 125.04];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [-49.6409; -13.7723; 139.708];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.0;1.0;-0.5];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -30.82;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TERES MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 26
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-98.53; -30.18; 77.97];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-98.40; -30.09; 84.66];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-102.05; -30.19;91.49];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [-75.67; 10.87; 47.60];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [-79.40; 8.05; 60.98];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [-79.74; 7.97; 73.42];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-35.82; 31.90; 26.09];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-46.63; 22.23; 55.63];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-57.12; 10.75; 74.20];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -85; -20; 110];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.2; 1.5; 0.3];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 40;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % TERES MAJOR
+ %----------------------------------------------------------------------
+ elseif Mident == 27
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-82.25; -40.36; 51.08];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-82.08; -41.14; 57.19];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-81.94; -42.03; 63.86];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [ -8.30; 50.69; 2.065];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-18.65; 43.05; 6.533];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-25.70; 38.68; 15.340];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -30; 15; 23.165];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0.3;1.0;0.5];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = 48;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ %----------------------------------------------------------------------
+ % CORACOBRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 28
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = [-88.03; -35.59; -21.370];
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = [-86.96; -37.40; -8.873];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = [-86.33; -38.07; 3.021];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [-79.44; -38.16; 16.41];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [-78.20; -38.16; 22.74];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [-76.69; -37.22; 29.20];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin{1,1} = [-50.10; -50.45; 115.36];
+ MWDATA{Mident,1}.AnchorOrigin{1,2} = [-53.06; -52.05; 114.55];
+ MWDATA{Mident,1}.AnchorOrigin{1,3} = [-57.42; -51.00; 115.53];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [ -60; -10; 80];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [1.0;1.0;0.4];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = -34.62;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ % Phyiscal Cross-Sectional Area
+ MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+
+ % Maximum Muscle Force
+ MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Maximum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmax = Lmax0(Mident, 1);
+
+ % Minimum Fiber Length
+ MWDATA{Mident,1}.MSCInfo.Lmin = Lmin0(Mident, 1);
+
+ % Optimum Fiber Length
+ MWDATA{Mident,1}.OptimalFiberLength(1,1) = Lopt0(Mident,1);
+
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE ALL POINTS INTO MATLAB FRAME
+%--------------------------------------------------------------------------
+ % All the anchor points must be rotated into the correct frame.
+ for i = 1:3
+ % Rotate the origin points
+ MWDATA{Mident,1}.AnchorOrigin{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorOrigin{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.OriginRef);
+
+ % Rotate the insertion points
+ MWDATA{Mident,1}.AnchorInsertion{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorInsertion{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.InsertionRef);
+
+ % If they exist, rotate the via points A
+ if isempty(MWDATA{Mident,1}.AnchorViaA{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaA{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaA{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaARef);
+ else
+ end
+
+ % If they exist, rotate the via points B
+ if isempty(MWDATA{Mident,1}.AnchorViaB{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaB{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaB{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaBRef);
+ else
+ end
+ end
+
+ % The strucutre initially uses a single segment. There is
+ % predefined space for 20 segments
+ MWDATA{Mident,1}.Insertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,2};
+ MWDATA{Mident,1}.ViaA{1,1} = MWDATA{Mident,1}.AnchorViaA{1,2};
+ MWDATA{Mident,1}.ViaB{1,1} = MWDATA{Mident,1}.AnchorViaB{1,2};
+ MWDATA{Mident,1}.Origin{1,1} = MWDATA{Mident,1}.AnchorOrigin{1,2};
+
+%--------------------------------------------------------------------------
+% ROTATE THE Z-AXIS
+%--------------------------------------------------------------------------
+ % The Z-axis is defined in the ISB referece system. It must be
+ % transformed. The transformation ISB to MATLAB Rotation Matrix is
+ Rmi = [0, 0, 1;
+ 1, 0, 0;
+ 0, 1, 0];
+
+ % If there is an object, the object Axis musct be converted
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ %--------------------------------------------------------------
+ if MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 0 % Thorax Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 1 % Clavicula Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rc'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 2 % Scapula Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rs'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ %--------------------------------------------------------------
+ elseif MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx) == 3 % Humerus Frame
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ BLDATA.Original_Matrices_L2A.Rh'*Rmi*MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx);
+ end
+ end
+ else
+ % There is no object
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE THE OBJECT CENTRE
+%--------------------------------------------------------------------------
+ % The muscle has wrapping and the object centre must be rotated into
+ % the correct local bone frame.
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx) =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ % The muscle has no wrapping
+ else
+ end
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% END OF PRIMARY SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
+
+% All the points are given in the AMIRA frame. All points must be converted
+% to the MATLAB reference frame in the intial configuration.
+function P = Rotate_Point_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ);
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.SC);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.AA);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.GH);
+else
+ % The wrong frame was provided
+end
+return;
diff --git a/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_ribcage_ellipsoid.m b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_ribcage_ellipsoid.m
new file mode 100755
index 0000000..6bdb137
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MAIN_INITIALISATION_build_data_ribcage_ellipsoid.m
@@ -0,0 +1,120 @@
+function REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA)
+% Function to initialise the ribcage ellipsoid dataset
+%{
+--------------------------------------------------------------------------
+Syntax:
+REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA)
+--------------------------------------------------------------------------
+
+
+File Description:
+This file generates the ellipsoid ribcage date without optimisation. The
+values are by default from an optimisation that "seems" to work.
+
+Data Structure Format :
+ REDATA.Centre center of the ellipsoid (same for all)
+ REDATA.Axes semi-principal axes of the base ellip.
+ REDATA.TSscale the SF for the ellipsoid includes TS
+ REDATA.AIscale the SF for the ellipsoid includes AI
+ REDATA.TSaxes when we add REDATA.TSscale to REDATA.Axes
+ REDATA.AIaxes when we add REDATA.AIscale to REDATA.Axes
+--------------------------------------------------------------------------
+%}
+% Initialiase the Output
+REDATA = [];
+
+%--------------------------------------------------------------------------
+% Initial Data
+%--------------------------------------------------------------------------
+% Create the initial data (this data was obtained from an initial
+% optimisation trial)
+REDATA.Centre = [ 34.0603; -10.2252; -60.6326];% these data are in the MATLAB coordinate system.
+REDATA.Axes = [106.3947; 111.4764; 152.0050];%the lenghts of the semi-principal axes of the base ellipsoid
+
+% Position of TS & AI in thorax reference system
+TS = BLDATA.Initial_Points.TS;
+AI = BLDATA.Initial_Points.AI;
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% GET THE SCALING FACTOR FOR THE UPPER MEDIAL BORDER POINT TS
+% The Scaling Factor (sf) is the only positive real root of a sixth order
+% polyomial. The polynomial is obtained from the ellipsoid equation. In
+% other word, by some magic we already have the base ellipsoid. Therefore, in
+% order to simplify the problem by using double ellipsoid we need to dilate
+% the base ellipsoid in a way that it includes the points AI and TS, ie
+% these two should satisfy the dilated ellipsoid equations. [Ex Ey Ez]' is
+% the center of the ellipsoids which should be written as [Xo Yo Z0]' as line 57.
+%
+% (TSx - Ex)^2 (TSy - Ey)^2 (TSz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+TSx = TS(1); TSy = TS(2); TSz = TS(3);
+A = REDATA.Axes(1); B = REDATA.Axes(2); C = REDATA.Axes(3);
+Xo = REDATA.Centre(1); Yo = REDATA.Centre(2); Zo = REDATA.Centre(3);
+
+% The polynomial coefficients are derived using MATLAB symbolic toolbox.
+% DO NOT TOUCH THIS PART OF THE CODE!!!
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((TSx - Xo)^2 + (TSy - Yo)^2 + (TSz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(TSx - Xo)^2*(C + B) + 2*(TSy - Yo)^2*(A+C) + 2*(TSz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((TSx - Xo)^2*(B^2 + C^2 + 4*C*B) + (TSy - Yo)^2*(C^2 + 4*A*C + A^2) + (TSz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(TSx - Xo)^2*(B^2*C + C^2*B) + 2*(TSy - Yo)^2*(A^2*C + C^2*A) + 2*(TSz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (TSx - Xo)^2*C^2*B^2 + (TSy - Yo)^2*A^2*C^2 + (TSz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+TS_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only. It is more robust to search for values
+% with small imaginary parts. MATLAB has a tendency to give real values
+% imaginary parts with 0.
+idx = find(abs(imag(TS_Scale_Roots)) < 1.e-6);
+idxx = find(real(TS_Scale_Roots(idx)) > 0); % Get the positive root
+
+% Save The Data
+REDATA.TSscale = TS_Scale_Roots(idx(idxx),1);
+REDATA.TSaxes = [A; B; C] + REDATA.TSscale*ones(3,1);
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% GET THE SCALING FACTOR FOR THE LOWER MEDIAL BORDER POINT AI
+% The scaling factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (AIx - Ex)^2 (AIy - Ey)^2 (AIz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+AIx = AI(1); AIy = AI(2); AIz = AI(3);
+
+% The polynomial coefficients are derived using MATLAB symbolic toolbox.
+% DO NOT TOUCH THIS PART OF THE CODE!!!
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((AIx - Xo)^2 + (AIy - Yo)^2 + (AIz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(AIx - Xo)^2*(C + B) + 2*(AIy - Yo)^2*(A+C) + 2*(AIz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((AIx - Xo)^2*(B^2 + C^2 + 4*C*B) + (AIy - Yo)^2*(C^2 + 4*A*C + A^2) + (AIz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(AIx - Xo)^2*(B^2*C + C^2*B) + 2*(AIy - Yo)^2*(A^2*C + C^2*A) + 2*(AIz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (AIx - Xo)^2*C^2*B^2 + (AIy - Yo)^2*A^2*C^2 + (AIz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+AI_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only. It is more robust to search for values
+% with small imaginary parts. MATLAB has a tendency to give real values
+% imaginary parts with 0.
+idx = find(abs(imag(AI_Scale_Roots)) < 1.e-6);
+idxx = find(real(AI_Scale_Roots(idx)) > 0); % Get the positive root
+
+% Save The Data
+REDATA.AIscale = AI_Scale_Roots(idx(idxx),1);
+REDATA.AIaxes = [A; B; C] + REDATA.AIscale*ones(3,1);
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male01.dat b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male01.dat
new file mode 100755
index 0000000..032b865
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male01.dat
@@ -0,0 +1,750 @@
+O_Subclavius
+41.173, -61.1004, 74.3713
+33.7791, -55.6192, 79.0972
+26.4003, -49.2524, 84.7164
+
+I_Subclavius
+-18.9628, -50.1496, 116.847
+-29.7979, -40.5796, 127.458
+-42.6799, -27.9017, 136.842
+
+O_SerratusAnter_Sup
+7.11473, -25.4564, 107.481
+-4.75722, -35.3436, 95.4018
+-20.0527, -43.5299, 65.8683
+
+I_SerratusAnter_Sup
+8.25269, 31.8953, 143.063
+5.57788, 45.7289, 127.897
+3.21613, 51.159, 113.152
+
+O_SerratusAnter_Mid
+-17.3633, -53.9562, 57.4158
+-19.2921, -61.5052, 36.9645
+-23.4575, -71.6023, 10.6339
+
+I_SerratusAnter_Mid
+3.02161, 51.5491, 107.424
+1.14816, 53.5467, 88.547
+1.1871, 53.6248, 72.1515
+
+O_SerratusAnter_Inf
+-27.5202, -72.6188, 8.71307
+-46.0224, -63.196, -50.196
+-29.8012, -14.2153, -112.074
+
+I_SerratusAnter_Inf
+2.53498, 53.4562, 65.4505
+3.22746, 54.1051, 32.1917
+1.22095, 46.0455, -3.41284
+
+O_Trapezius1_desc
+65.7708, 10.3614, 174.891
+62.2393, -2.54769, 189.818
+50.1239, -14.6636, 205.927
+
+I_Trapezius1_desc
+-71.4862, -14.7671, 151.693
+-56.5513, -19.5776, 149.34
+-31.2114, -35.1224, 135.334
+
+O_Trapezius2_trans1
+66.9769, 12.3058, 170.794
+61.6777, 24.7505, 156.775
+63.3608, 31.1681, 134.665
+
+I_Trapezius2_trans1
+-82.3183, -10.9279, 144.533
+-74.7731, 5.88579, 145.223
+-62.1524, 19.4738, 141.996
+
+O_Trapezius3_trans2
+67.2553, 32.248, 132.813
+66.3593, 38.6868, 110.141
+65.7197, 40.5623, 88.4139
+
+I_Trapezius3_trans2
+-59.0516, 23.1731, 141.903
+-51.0683, 33.0072, 138.195
+-38.0913, 45.7505, 133.075
+
+O_Trapezius4_ascen
+68.1699, 46.1047, 84.3377
+75.693, 36.6174, -38.6546
+82.7894, 10.3711, -148.248
+
+I_Trapezius4_ascen
+-5.60274, 53.483, 121.307
+-23.5207, 50.0347, 121.515
+-33.1462, 49.1314, 131.292
+
+O_LevatorScapula
+51.853, 1.31638, 200.204
+52.0178, -3.53246, 214.164
+50.9854, -9.48564, 226.945
+
+I_LevatorScapula
+2.38196, 48.2173, 129.524
+6.17926, 43.4184, 136.696
+5.72891, 35.7942, 144.633
+
+O_RhomboidMinor
+63.1405, 31.5971, 133.582
+62.2852, 28.3608, 145.859
+61.2229, 23.6989, 156.756
+
+I_RhomboidMinor
+1.67872, 54.076, 109.405
+1.64915, 52.702, 118.986
+5.2469, 47.0867, 128.577
+
+O_RhomboidMajor1
+62.2852, 43.1543, 84.3148
+62.2852, 40.2353, 107.307
+65.3901, 35.0595, 126.602
+
+I_RhomboidMajor1
+1.51352, 55.3088, 54.991
+0.630526, 56.3441, 82.4232
+1.32913, 54.9104, 104.071
+
+O_RhomboidMajor2
+62.2852, 45.0178, 77.3576
+62.2852, 44.7002, 56.7764
+62.2852, 42.1491, 31.193
+
+I_RhomboidMajor2
+2.41255, 56.1105, 49.7609
+2.66216, 56.03, 25.7417
+2.49325, 51.8921, -1.87031
+
+O_PectoralisMinor
+-27.2316, -67.9489, 14.084
+-29.7807, -81.8396, -21.884
+-32.5833, -90.3809, -49.9422
+
+I_PectoralisMinor
+-41.8205, -37.2758, 121.601
+-43.766, -41.4906, 119.346
+-45.2942, -45.6962, 117.464
+
+O_PectoralisMajorC
+5.53691, -71.5659, 96.3807
+25.9738, -73.8488, 84.1754
+46.6489, -74.0846, 71.3169
+
+I_PectoralisMajorC
+-88.4546, -41.0864, 13.1493
+-88.4679, -42.5038, 18.695
+-88.2362, -43.739, 26.1556
+
+O_PectoralisMajorT1
+50.6804, -73.5314, 54.6745
+66.4689, -97.4932, 20.8385
+68.8433, -109.622, -6.17647
+
+I_PectoralisMajorT1
+-88.0576, -43.5763, 24.3902
+-87.5333, -43.629, 32.291
+-88.0135, -44.1796, 39.6835
+
+O_PectoralisMajorT2
+68.8722, -111.443, -12.3006
+68.0023, -124.986, -42.6489
+34.9687, -134.484, -83.761
+
+I_PectoralisMajorT2
+-87.8911, -44.3137, 36.7488
+-87.2422, -44.9449, 45.6781
+-86.3737, -46.0198, 55.3074
+
+O_LatissimusDorsiT
+80.4946, 22.1353, -119.445
+75.3661, 32.3963, -69.0448
+69.7617, 43.0483, -8.37027
+
+I_LatissimusDorsiT
+-87.2575, -43.5928, 36.7559
+-87.915, -44.0204, 30.5379
+-88.4559, -43.8344, 25.8456
+
+O_LatissimusDorsiL
+81.3144, 19.9538, -132.042
+76.7484, -1.31682, -184.542
+74.8828, -25.2829, -245.011
+
+I_LatissimusDorsiL
+-87.2781, -43.3133, 39.7
+-86.7881, -44.378, 44.7898
+-86.7108, -45.377, 50.8744
+
+O_LatissimusDorsiI
+74.376, -28.5886, -249.775
+71.6283, -25.8211, -280.409
+66.1161, -11.8491, -315.955
+
+I_LatissimusDorsiI
+-86.4171, -45.6955, 54.0173
+-86.6599, -44.5822, 58.6471
+-86.6915, -44.6787, 64.2273
+
+O_Deltoid_Ant
+-81.2099, -32.5249, 144.534
+-60.3396, -32.7497, 139.13
+-36.6209, -46.4062, 127.974
+
+I_Deltoid_Ant
+-97.6745, -42.7484, -40.1479
+-97.4316, -42.7558, -31.0706
+-97.5544, -41.8031, -21.0644
+
+O_Deltoid_Mid
+-86.1159, -36.6617, 142.546
+-102.061, -30.7953, 136.712
+-104.169, -0.870796, 133.897
+
+I_Deltoid_Mid
+-101.231, -40.3669, -39.3615
+-101.563, -40.2577, -31.1173
+-101.172, -39.0617, -21.062
+
+O_Deltoid_Post
+-101.618, 1.40366, 133.112
+-79.3147, 15.6423, 137.99
+-47.147, 39.7385, 128.563
+
+I_Deltoid_Post
+-104.529, -37.2547, -39.271
+-104.394, -37.4848, -30.247
+-103.658, -35.647, -20.6574
+
+O_Supraspinatus
+-6.05771, 37.0384, 127.702
+-3.07993, 25.0142, 136.136
+-5.75559, 13.9878, 145.488
+
+I_Supraspinatus
+-107.568, -44.3173, 112.798
+-102.937, -51.0285, 114.66
+-96.6379, -55.0339, 114.903
+
+O_Infraspinatus
+-10.0897, 47.3045, 109.304
+-9.06789, 52.0096, 63.59
+-5.93623, 52.7654, 15.5461
+
+I_Infraspinatus
+-110.26, -40.1495, 112.134
+-110.124, -31.2999, 109.407
+-105.764, -25.4884, 101.054
+
+O_Subscapularis
+-1.72675, 26.6173, 130.33
+-4.00714, 49.4545, 92.4763
+-3.88998, 43.5291, -1.33627
+
+I_Subscapularis
+-69.442, -49.5087, 106.77
+-67.8108, -45.8738, 100.249
+-70.8628, -44.2468, 93.2889
+
+O_TeresMinor
+-57.115, 10.7403, 74.1963
+-46.634, 22.2325, 55.628
+-35.8198, 31.9011, 26.0915
+
+I_TeresMinor
+-103.808, -26.6255, 97.5774
+-100.926, -29.5764, 91.2362
+-100.228, -32.1254, 83.7147
+
+O_TeresMajor
+-33.8561, 33.6295, 27.9485
+-23.112, 40.3727, 9.75702
+-10.8262, 48.3963, -2.92881
+
+I_TeresMajor
+-90.6108, -23.6892, 65.1377
+-89.9696, -22.4911, 54.8011
+-88.9003, -21.5665, 43.4691
+
+O_Coracobrachialis
+-58.3038, -51.0917, 113.934
+-53.417, -52.4021, 114.229
+-48.7533, -50.1628, 114.264
+
+I_Coracobrachialis
+-86.3336, -38.074, 3.02071
+-86.9643, -37.3976, -8.87327
+-88.0262, -35.5948, -21.3679
+
+O_TricepsBrachiiLong
+-6.5977e+001, -2.5265e+000, 8.2212e+001
+-6.8373e+001, -4.1775e+000, 8.4934e+001
+-6.2473e+001, 7.5525e-001, 8.0988e+001
+
+I_TricepsBrachiiLong
+-1.1725e+002, -1.0148e+001, -2.2331e+002
+-1.0990e+002, -1.1382e+001, -2.2270e+002
+-1.2192e+002, -1.3381e+001, -2.2130e+002
+
+O_TricepsBrachiiMedial
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+
+I_TricepsBrachiiMedial
+-1.1725e+002, -1.0148e+001, -2.2331e+002
+-1.0990e+002, -1.1382e+001, -2.2270e+002
+-1.2192e+002, -1.3381e+001, -2.2130e+002
+
+O_TricepsBrachiiLateral
+-9.3231e+001, -2.5393e+001, 7.6856e+001
+-9.5844e+001, -2.4483e+001, 5.5065e+001
+-9.8666e+001, -2.4180e+001, 3.5335e+001
+
+I_TricepsBrachiiLateral
+-1.1725e+002, -1.0148e+001, -2.2331e+002
+-1.0990e+002, -1.1382e+001, -2.2270e+002
+-1.2192e+002, -1.3381e+001, -2.2130e+002
+
+O_BicepsShort
+-5.5914e+001, -5.3169e+001, 1.1228e+002
+-5.5914e+001, -5.3169e+001, 1.1228e+002
+-5.5914e+001, -5.3169e+001, 1.1228e+002
+
+I_BicepsShort
+-1.1397e+002, -5.9680e+001, -2.5591e+002
+-1.1333e+002, -6.1452e+001, -2.6337e+002
+-1.1431e+002, -6.0447e+001, -2.5998e+002
+
+O_BicepsLong
+-6.1353e+001, -2.6378e+001, 1.2368e+002
+-6.1353e+001, -2.6378e+001, 1.2368e+002
+-6.1353e+001, -2.6378e+001, 1.2368e+002
+
+I_BicepsLong
+-1.1397e+002, -5.9680e+001, -2.5591e+002
+-1.1333e+002, -6.1452e+001, -2.6337e+002
+-1.1431e+002, -6.0447e+001, -2.5998e+002
+
+O_Brachialis
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+
+I_Brachialis
+-1.0180e+002, -5.1749e+001, -2.4323e+002
+-1.0180e+002, -4.7418e+001, -2.3423e+002
+-1.0121e+002, -4.9909e+001, -2.3822e+002
+
+O_Brachioradialis
+-1.0796e+002, -3.3887e+001, -1.2265e+002
+-1.1199e+002, -3.2417e+001, -1.3974e+002
+-1.1602e+002, -3.2164e+001, -1.5635e+002
+
+I_Brachioradialis
+-6.5171e+001, -1.3123e+002, -4.5880e+002
+-6.4360e+001, -1.3226e+002, -4.6322e+002
+-6.4143e+001, -1.3203e+002, -4.6093e+002
+
+O_Supinator
+-1.2390e+002, -3.6960e+001, -2.4823e+002
+-1.2390e+002, -3.6960e+001, -2.4823e+002
+-1.2390e+002, -3.6960e+001, -2.4823e+002
+
+I_Supinator
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+
+O_PronatorTeres
+-8.4161e+001, -1.5198e+001, -1.9188e+002
+-8.0641e+001, -1.4875e+001, -1.9619e+002
+-7.8334e+001, -1.4676e+001, -2.0061e+002
+
+I_PronatorTeres
+-8.3207e+001, -9.2867e+001, -3.2064e+002
+-8.2185e+001, -9.3469e+001, -3.2493e+002
+-8.1957e+001, -9.5429e+001, -3.2767e+002
+
+O_FlexorCarpiRadialis
+-8.0354e+001, -1.3176e+001, -2.0582e+002
+-8.0354e+001, -1.3176e+001, -2.0582e+002
+-8.0354e+001, -1.3176e+001, -2.0582e+002
+
+I_FlexorCarpiRadialis
+-7.9025e+001, -1.3728e+002, -4.9377e+002
+-8.2963e+001, -1.3905e+002, -4.9363e+002
+-8.4829e+001, -1.4307e+002, -4.9341e+002
+
+O_FlexorCarpiUlnaris
+-8.0393e+001, -1.4176e+001, -2.0691e+002
+-8.0393e+001, -1.4176e+001, -2.0691e+002
+-8.0393e+001, -1.4176e+001, -2.0691e+002
+
+I_FlexorCarpiUlnaris
+-1.0394e+002, -1.3576e+002, -4.7566e+002
+-1.0247e+002, -1.4422e+002, -4.9759e+002
+-1.0252e+002, -1.4322e+002, -4.8938e+002
+
+O_ExtensorRadialisLong
+-1.2768e+002, -4.4862e+001, -1.9176e+002
+-1.2768e+002, -4.4862e+001, -1.9176e+002
+-1.2768e+002, -4.4862e+001, -1.9176e+002
+
+I_ExtensorRadialisLong
+-6.5879e+001, -1.4384e+002, -5.0005e+002
+-6.5879e+001, -1.4384e+002, -5.0005e+002
+-6.5879e+001, -1.4384e+002, -5.0005e+002
+
+O_ExtensorRadialisBrevis
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+
+I_ExtensorRadialisBrevis
+-7.7110e+001, -1.5319e+002, -5.0212e+002
+-7.7110e+001, -1.5319e+002, -5.0212e+002
+-7.7110e+001, -1.5319e+002, -5.0212e+002
+
+O_ExtensorUlnaris
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+-1.2767e+002, -5.4137e+001, -2.0907e+002
+
+I_ExtensorUlnaris
+-1.0899e+002, -1.4864e+002, -4.9698e+002
+-1.0899e+002, -1.4864e+002, -4.9698e+002
+-1.0899e+002, -1.4864e+002, -4.9698e+002
+
+V_B_Deltoid_Ant
+-104.981, -52.4835, 5.77026
+-102.188, -55.7124, 5.77028
+-99.3061, -58.1194, 5.77028
+
+V_B_Deltoid_Mid
+-108.1, -49.132, 5.77026
+-110.973, -44.9397, 5.77026
+-113.331, -41.3741, 5.77026
+
+V_A_Deltoid_Mid
+-87.7647, -51.9564, 136.929
+-107.083, -38.5449, 135.646
+-119.672, -14.9935, 135.803
+
+V_B_Deltoid_Post
+-115.006, -37.7201, 5.77026
+-116.175, -32.5374, 5.77026
+-116.148, -27.145, 5.77026
+
+V_A_Deltoid_Post
+-113.915, -4.26598, 125.835
+-97.3718, 15.1501, 126.239
+-78.2242, 28.0691, 115.927
+
+V_B_Supraspinatus
+-103.423, -39.89, 123.895
+-99.9952, -45.1298, 123.895
+-95.1478, -50.1125, 123.895
+
+V_A_Supraspinatus
+-46.5189, 13.5646, 124.803
+-41.7932, 0.628769, 131.784
+-37.0399, -12.3826, 133.254
+
+V_A_Infraspinatus
+-71.5944, 11.642, 126.2
+-71.5944, 12.3856, 99.5803
+-71.5944, 5.33549, 72.1472
+
+V_A_Subscapularis
+-30.8899, -2.56194, 112.973
+-36.89, 1.91854, 95.5674
+-38.585, 3.49857, 72.9275
+
+V_A_TeresMinor
+-79.7438, 7.96823, 73.4205
+-79.4, 8.05059, 60.9782
+-75.6652, 10.8711, 47.6043
+
+V_B_Coracobrachialis
+-82.8193, -36.6909, 20.1422
+-80.1118, -37.4283, 14.3329
+-76.7898, -38.2079, 7.20493
+
+V_A_TricepsBrachiiLateral
+-115.086, -19.1789, 49.6051
+-113.745, -24.2509, 7.92049
+-112.903, -27.8795, -35.0426
+
+V_A_Brachialis
+-91.5408, -35.1868, -156.923
+-78.6503, -36.1933, -122.269
+-67.0905, -35.0681, -88.0582
+
+V_A_Brachioradialis
+-141.272, -33.993, -128.434
+-135.972, -35.0858, -151.266
+-132.273, -38.6015, -172.812
+
+V_A_PronatorTeres
+-79.1353, -27.8375, -195
+-74.9722, -25.8046, -199
+-72.0225, -22.6523, -205
+
+V_A_FlexorCarpiRadialis
+-75.7126, -23.4981, -198.273
+-79.8473, -26.2071, -196.105
+-84.3871, -29.1534, -194.891
+
+V_A_ExtensorRadialisLong
+-127, -70, -219
+-127, -70, -219
+-127, -70, -219
+
+V_B_ExtensorRadialisLong
+-59, -147, -435
+-59, -147, -435
+-59, -147, -435
+
+V_B_ExtensorRadialisBrevis
+-77, -101, -347
+-77, -101, -347
+-77, -101, -347
+
+V_B_ExtensorUlnaris
+-115, -143, -435
+-115, -143, -435
+-115, -143, -435
+
+Wrap_SerratusAnterior_Sup
+-3.41035 -3.66585 66.2247
+-0.483567 -0.237584 0.842447 104.639
+31.2318 31.2319 31.2318
+
+Wrap_SerratusAnterior_Mid
+-13.3597 -20.1779 19.377
+-0.542166 -0.381093 0.748882 114.642
+41.6662 41.6665 41.6661
+
+Wrap_SerratusAnterior_Inf
+12.431 -29.3376 -17.3054
+0.628115 0.534855 -0.565156 234.642
+57.0052 57.0056 57.0051
+
+Wrap_Trapezius1
+5.61307 -7.94112 188.466
+-0.205057 0.977225 0.0546144 264.218
+32.615 32.6153 32.6149
+
+Wrap_Trapezius11
+-42.8163 -15.1773 144.27
+-0.619755 0.731963 -0.283078 245.968
+12.5046 12.5047 12.5045
+
+Wrap_Trapezius2
+23.2983 -7.55236 137.964
+0.208872 0.927457 -0.310155 257.628
+38.0763 38.0766 38.0759
+
+Wrap_Trapezius3
+10.0585 17.3398 105.87
+0.424923 0.76586 -0.482595 244.491
+47.8416 47.8421 47.8414
+
+Wrap_Trapezius4
+29.244 -9.3936 -13.9848
+-0.555723 -0.565849 0.609087 131.064
+60.7984 60.7988 60.7981
+
+Wrap_RhomboidMajor1
+25.0178 10.1227 94.8511
+0.503919 0.627435 -0.593625 238.42
+45.1111 45.1113 45.1108
+
+Wrap_RhomboidMajor2
+24.762 12.3363 44.4951
+-0.538716 -0.569895 0.620488 127.192
+45.1111 45.1114 45.1108
+
+Wrap_PectoralisMajorC
+-13.819 -43.0998 42.6683
+0.645906 0.490759 -0.584774 205.775
+39.3665 39.3667 39.3661
+
+Wrap_PectoralisMajorT1
+5.45804 -49.7656 8.49732
+0.587134 -0.700465 -0.405736 94.7225
+51.7892 51.7895 51.7887
+
+Wrap_PectoralisMajorT2
+14.7641 -62.8752 -40.3125
+0.525922 -0.560617 -0.639621 93.704
+59.9068 59.9071 59.9062
+
+Wrap_LatissimusDorsiT1
+15.6892 -14.8263 -61.0633
+-0.59537 0.646184 0.477473 245.195
+63.4398 63.4401 63.439
+
+Wrap_LatissimusDorsiT2
+-88.0434 -27.1301 31.952
+0.636137 -0.534533 0.556421 240.311
+13.6148 13.6149 13.6147
+
+Wrap_LatissimusDorsiL1
+9.03792 -64.2 -179.098
+0.617343 -0.489399 0.615935 229.55
+72.1533 72.1537 72.1525
+
+Wrap_LatissimusDorsiL2
+-86.2778 -25.6039 43.7062
+0.656398 -0.555744 0.510186 235.66
+13.6148 13.6149 13.6146
+
+Wrap_LatissimusDorsiI1
+7.08183 -64.8476 -140.365
+0.625326 -0.510242 0.590441 227.261
+84.0771 84.0776 84.0761
+
+Wrap_LatissimusDorsiI2
+-84.1357 -28.9095 55.0606
+0.626135 -0.610863 0.484563 239.248
+13.6148 13.6149 13.6146
+
+Wrap_Deltoid_Ant
+-74.2204 -35.3699 99.4869
+-0.655672 0.736026 0.168405 206.332
+36.5999 36.6003 36.5996
+
+Wrap_Deltoid_Mid
+-93.3558 -34.0485 108.668
+0.555185 0.479447 0.679632 121.526
+27.6994 27.6996 27.699
+
+Wrap_Deltoid_Post
+-95.4139 -31.8447 108.692
+0.502005 0.554321 0.663867 110.562
+29.0486 29.0488 29.0482
+
+Wrap_Supraspinatus
+-85.3005 -34.1928 110.134
+-0.326578 0.865877 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Infraspinatus
+-87.4601 -31.7053 109.613
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Subscapularis
+-71.8228 -18.7317 100.961
+-0.326577 0.865878 0.378949 93.2911
+20.9579 20.958 20.9576
+
+Wrap_TeresMinor
+-79.6975 -21.8557 79.1755
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.9579 20.9576
+
+Wrap_TeresMajor
+-30.1763 -8.57632 57.0835
+0.876527 -0.3727 0.304624 245.701
+44.0821 44.0823 44.0814
+
+Wrap_TricepsBrachiiLong1
+-92.811 -28.9904 -30.234
+0.566074 0.824169 0.017503 177.341
+25.2783 25.2785 25.2779
+
+Wrap_TricepsBrachiiLong2
+-105.124 -24.609 -195
+0.566074 0.824169 0.0175033 177.341
+20 16.4229 16.4227
+
+Wrap_TricepsBrachiiMedial
+-107.344 -28.2981 -197
+0.565536 0.821633 -0.0713306 184.338
+16.4228 16.423 16.4226
+
+Wrap_TricepsBrachiiLateral
+-107.344 -28.2981 -202
+0.372304 0.926081 -0.0613566 186.021
+18 16.423 16.4226
+
+Wrap_BicepsShort1
+-101.973 -22.7135 -56.0309
+0.518873 0.852053 -0.0691156 184.787
+38.3482 38.3483 38.3476
+
+Wrap_BicepsShort2
+-105.698 -47.0982 -202.995
+0.531462 0.846786 -0.0223905 183.56
+16.4229 16.423 16.4227
+
+Wrap_BicepsLong1
+-82 -41.9782 104
+0.865019 0.495218 -0.0806368 180.371
+24.3953 27.3956 27.395
+
+Wrap_BicepsLong2
+-102.46 -51.1125 -195.16
+0.714054 0.695233 -0.0823277 184.783
+15.2812 15.2813 15.281
+
+Wrap_Brachialis
+-93.9151 -37.2378 -204.333
+0.389849 0.918933 -0.0598364 188.064
+15.2812 15.2813 15.281
+
+Wrap_Brachioradialis
+-123.517 -45.1254 -211.02
+0.0782781 0.996337 -0.0344239 189.823
+15.2812 15.2813 15.281
+
+Wrap_Supinator
+-120.596 -48.9482 -272.388
+-0.484198 0.87378 -0.0453977 189.243
+19.6586 19.6585 19.6581
+
+Wrap_PronatorTeres
+-88.3875 -34.9264 -207.86
+0.428168 0.834212 -0.347507 195.632
+11.1718 11.1718 11.1716
+
+Wrap_FlexorCarpiRadialis
+-82.4623 -23.5885 -222
+0.00317948 0.0907327 0.99587 127.096
+14.2729 14.273 14.2727
+
+Wrap_FlexorCarpiUlnaris
+-82.6572 -16.5863 -224.311
+0.0479379 0.0664502 0.996637 194.466
+11.1319 11.1319 11.1317
+
+Wrap_ExtensorRadialisBrevis
+-125 -70 -224
+-0.16 -0.43 0.88 44.5
+13 13 13
+
+Wrap_ExtensorRadialisLong
+-90 -87 -302
+0.7 0.08 -0.70 216
+13 13 13
+
+Wrap_ExtensorUlnaris
+-127 -50 -240
+0.45 0.04 0.89 11.2
+12 12 12
+
+RadiusCylinder
+-108.026 -32.17 -359.551
+0.258981 0.684336 0.681626 156.529
+10 135 10
+
+UlnaCylinder
+-122.12 -50.8565 -354.878
+0.258981 0.684336 0.681626 156.529
+8 130 8
+
diff --git a/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male011.dat b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male011.dat
new file mode 100755
index 0000000..2028278
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male011.dat
@@ -0,0 +1,730 @@
+O_Subclavius
+41.173, -61.1004, 74.3713
+33.7791, -55.6192, 79.0972
+26.4003, -49.2524, 84.7164
+
+I_Subclavius
+-18.9628, -50.1496, 116.847
+-29.7979, -40.5796, 127.458
+-42.6799, -27.9017, 136.842
+
+O_SerratusAnter_Sup
+7.11473, -25.4564, 107.481
+-4.75722, -35.3436, 95.4018
+-20.0527, -43.5299, 65.8683
+
+I_SerratusAnter_Sup
+8.25269, 31.8953, 143.063
+5.57788, 45.7289, 127.897
+3.21613, 51.159, 113.152
+
+O_SerratusAnter_Mid
+-17.3633, -53.9562, 57.4158
+-19.2921, -61.5052, 36.9645
+-23.4575, -71.6023, 10.6339
+
+I_SerratusAnter_Mid
+3.02161, 51.5491, 107.424
+1.14816, 53.5467, 88.547
+1.1871, 53.6248, 72.1515
+
+O_SerratusAnter_Inf
+-27.5202, -72.6188, 8.71307
+-46.0224, -63.196, -50.196
+-29.8012, -14.2153, -112.074
+
+I_SerratusAnter_Inf
+2.53498, 53.4562, 65.4505
+3.22746, 54.1051, 32.1917
+1.22095, 46.0455, -3.41284
+
+O_Trapezius1_desc
+65.7708, 10.3614, 174.891
+62.2393, -2.54769, 189.818
+50.1239, -14.6636, 205.927
+
+I_Trapezius1_desc
+-71.4862, -14.7671, 151.693
+-56.5513, -19.5776, 149.34
+-31.2114, -35.1224, 135.334
+
+O_Trapezius2_trans1
+66.9769, 12.3058, 170.794
+61.6777, 24.7505, 156.775
+63.3608, 31.1681, 134.665
+
+I_Trapezius2_trans1
+-82.3183, -10.9279, 144.533
+-74.7731, 5.88579, 145.223
+-62.1524, 19.4738, 141.996
+
+O_Trapezius3_trans2
+67.2553, 32.248, 132.813
+66.3593, 38.6868, 110.141
+65.7197, 40.5623, 88.4139
+
+I_Trapezius3_trans2
+-59.0516, 23.1731, 141.903
+-51.0683, 33.0072, 138.195
+-38.0913, 45.7505, 133.075
+
+O_Trapezius4_ascen
+68.1699, 46.1047, 84.3377
+75.693, 36.6174, -38.6546
+82.7894, 10.3711, -148.248
+
+I_Trapezius4_ascen
+-5.60274, 53.483, 121.307
+-23.5207, 50.0347, 121.515
+-33.1462, 49.1314, 131.292
+
+O_LevatorScapula
+51.853, 1.31638, 200.204
+52.0178, -3.53246, 214.164
+50.9854, -9.48564, 226.945
+
+I_LevatorScapula
+2.38196, 48.2173, 129.524
+6.17926, 43.4184, 136.696
+5.72891, 35.7942, 144.633
+
+O_RhomboidMinor
+63.1405, 31.5971, 133.582
+62.2852, 28.3608, 145.859
+61.2229, 23.6989, 156.756
+
+I_RhomboidMinor
+1.67872, 54.076, 109.405
+1.64915, 52.702, 118.986
+5.2469, 47.0867, 128.577
+
+O_RhomboidMajor1
+62.2852, 43.1543, 84.3148
+62.2852, 40.2353, 107.307
+65.3901, 35.0595, 126.602
+
+I_RhomboidMajor1
+1.51352, 55.3088, 54.991
+0.630526, 56.3441, 82.4232
+1.32913, 54.9104, 104.071
+
+O_RhomboidMajor2
+62.2852, 45.0178, 77.3576
+62.2852, 44.7002, 56.7764
+62.2852, 42.1491, 31.193
+
+I_RhomboidMajor2
+2.41255, 56.1105, 49.7609
+2.66216, 56.03, 25.7417
+2.49325, 51.8921, -1.87031
+
+O_PectoralisMinor
+-27.2316, -67.9489, 14.084
+-29.7807, -81.8396, -21.884
+-32.5833, -90.3809, -49.9422
+
+I_PectoralisMinor
+-41.8205, -37.2758, 121.601
+-43.766, -41.4906, 119.346
+-45.2942, -45.6962, 117.464
+
+O_PectoralisMajorC
+5.53691, -71.5659, 96.3807
+25.9738, -73.8488, 84.1754
+46.6489, -74.0846, 71.3169
+
+I_PectoralisMajorC
+-88.4546, -41.0864, 13.1493
+-88.4679, -42.5038, 18.695
+-88.2362, -43.739, 26.1556
+
+O_PectoralisMajorT1
+50.6804, -73.5314, 54.6745
+66.4689, -97.4932, 20.8385
+68.8433, -109.622, -6.17647
+
+I_PectoralisMajorT1
+-88.0576, -43.5763, 24.3902
+-87.5333, -43.629, 32.291
+-88.0135, -44.1796, 39.6835
+
+O_PectoralisMajorT2
+68.8722, -111.443, -12.3006
+68.0023, -124.986, -42.6489
+34.9687, -134.484, -83.761
+
+I_PectoralisMajorT2
+-87.8911, -44.3137, 36.7488
+-87.2422, -44.9449, 45.6781
+-86.3737, -46.0198, 55.3074
+
+O_LatissimusDorsiT
+80.4946, 22.1353, -119.445
+75.3661, 32.3963, -69.0448
+69.7617, 43.0483, -8.37027
+
+I_LatissimusDorsiT
+-87.2575, -43.5928, 36.7559
+-87.915, -44.0204, 30.5379
+-88.4559, -43.8344, 25.8456
+
+O_LatissimusDorsiL
+81.3144, 19.9538, -132.042
+76.7484, -1.31682, -184.542
+74.8828, -25.2829, -245.011
+
+I_LatissimusDorsiL
+-87.2781, -43.3133, 39.7
+-86.7881, -44.378, 44.7898
+-86.7108, -45.377, 50.8744
+
+O_LatissimusDorsiI
+74.376, -28.5886, -249.775
+71.6283, -25.8211, -280.409
+66.1161, -11.8491, -315.955
+
+I_LatissimusDorsiI
+-86.4171, -45.6955, 54.0173
+-86.6599, -44.5822, 58.6471
+-86.6915, -44.6787, 64.2273
+
+O_Deltoid_Ant
+-81.2099, -32.5249, 144.534
+-60.3396, -32.7497, 139.13
+-36.6209, -46.4062, 127.974
+
+I_Deltoid_Ant
+-97.6745, -42.7484, -40.1479
+-97.4316, -42.7558, -31.0706
+-97.5544, -41.8031, -21.0644
+
+O_Deltoid_Mid
+-86.1159, -36.6617, 142.546
+-102.061, -30.7953, 136.712
+-104.169, -0.870796, 133.897
+
+I_Deltoid_Mid
+-101.231, -40.3669, -39.3615
+-101.563, -40.2577, -31.1173
+-101.172, -39.0617, -21.062
+
+O_Deltoid_Post
+-101.618, 1.40366, 133.112
+-79.3147, 15.6423, 137.99
+-47.147, 39.7385, 128.563
+
+I_Deltoid_Post
+-104.529, -37.2547, -39.271
+-104.394, -37.4848, -30.247
+-103.658, -35.647, -20.6574
+
+O_Supraspinatus
+-6.05771, 37.0384, 127.702
+-3.07993, 25.0142, 136.136
+-5.75559, 13.9878, 145.488
+
+I_Supraspinatus
+-107.568, -44.3173, 112.798
+-102.937, -51.0285, 114.66
+-96.6379, -55.0339, 114.903
+
+O_Infraspinatus
+-10.0897, 47.3045, 109.304
+-9.06789, 52.0096, 63.59
+-5.93623, 52.7654, 15.5461
+
+I_Infraspinatus
+-110.26, -40.1495, 112.134
+-110.124, -31.2999, 109.407
+-105.764, -25.4884, 101.054
+
+O_Subscapularis
+-1.72675, 26.6173, 130.33
+-4.00714, 49.4545, 92.4763
+-3.88998, 43.5291, -1.33627
+
+I_Subscapularis
+-69.442, -49.5087, 106.77
+-67.8108, -45.8738, 100.249
+-70.8628, -44.2468, 93.2889
+
+O_TeresMinor
+-57.115, 10.7403, 74.1963
+-46.634, 22.2325, 55.628
+-35.8198, 31.9011, 26.0915
+
+I_TeresMinor
+-103.808, -26.6255, 97.5774
+-100.926, -29.5764, 91.2362
+-100.228, -32.1254, 83.7147
+
+O_TeresMajor
+-33.8561, 33.6295, 27.9485
+-23.112, 40.3727, 9.75702
+-10.8262, 48.3963, -2.92881
+
+I_TeresMajor
+-90.6108, -23.6892, 65.1377
+-89.9696, -22.4911, 54.8011
+-88.9003, -21.5665, 43.4691
+
+O_Coracobrachialis
+-58.3038, -51.0917, 113.934
+-53.417, -52.4021, 114.229
+-48.7533, -50.1628, 114.264
+
+I_Coracobrachialis
+-86.3336, -38.074, 3.02071
+-86.9643, -37.3976, -8.87327
+-88.0262, -35.5948, -21.3679
+
+O_TricepsBrachiiLong
+-68.6294, -4.11831, 85.1648
+-59.1559, 7.02048, 75.1753
+-51.6256, 14.9019, 62.4499
+
+I_TricepsBrachiiLong
+-101.958, -13.8845, -196.639
+-105.958, -14.8216, -193.12
+-110.869, -17.1233, -190.869
+
+O_TricepsBrachiiMedial
+-88.0377, -19.482, -0.96534
+-98.5767, -17.5838, -72.2755
+-107.898, -19.7382, -140.951
+
+I_TricepsBrachiiMedial
+-107.689, -15.6051, -191.614
+-113.445, -17.229, -189.762
+-117.636, -20.0469, -190.445
+
+O_TricepsBrachiiLateral
+-96.6675, -26.8879, 70.1201
+-100.478, -27.4214, 28.9129
+-104.364, -27.2862, -8.27278
+
+I_TricepsBrachiiLateral
+-116.355, -17.69, -189.53
+-121.969, -21.5493, -190.734
+-126.496, -24.3435, -193.696
+
+O_BicepsShort
+-55.3847, -53.0809, 113.571
+-50.1455, -50.6252, 112.662
+-45.5365, -46.652, 115.041
+
+I_BicepsShort
+-107.273, -55.2303, -258.127
+-108.744, -58.0042, -250.003
+-110.28, -60.8942, -241.577
+
+O_BicepsLong
+-63.7176, -19.2003, 124.928
+-62.3111, -23.1707, 124.716
+-60.9582, -26.9149, 123.799
+
+I_BicepsLong
+-107.273, -55.2303, -258.127
+-108.744, -58.0042, -250.003
+-110.28, -60.8942, -241.577
+
+O_Brachialis
+-88.2764, -29.1389, -54.7529
+-92.3403, -28.7363, -109.689
+-96.4838, -31.1075, -153.886
+
+I_Brachialis
+-99.3643, -44.4953, -239.487
+-94.5813, -42.4391, -248.869
+-92.2864, -39.1401, -256.8
+
+O_Brachioradialis
+-109.775, -32.1973, -124.175
+-115.077, -30.4155, -149.503
+-119.948, -34.0449, -168.419
+
+I_Brachioradialis
+-138.024, -51.5936, -479.592
+-137.273, -51.7584, -468.283
+-136.667, -51.6982, -457.886
+
+O_Supinator
+-119.157, -58.0966, -205.327
+-119.141, -58.4059, -213.202
+-119.06, -58.2591, -220.88
+
+I_Supinator
+-124.932, -56.9915, -307.151
+-124.149, -58.1163, -316.733
+-123.706, -58.5937, -326.923
+
+O_PronatorTeres
+-86.1257, -16.7858, -190.363
+-83.398, -15.7277, -192.767
+-80.9092, -15.0935, -195.841
+
+I_PronatorTeres
+-101.771, -42.2562, -320.918
+-124.586, -58.3553, -340.595
+-123.972, -58.6462, -351.405
+
+O_FlexorCarpiRadialis
+-87.1096, -19.3448, -192.623
+-85.1182, -18.0504, -195.668
+-82.0954, -17.5585, -198.441
+
+I_FlexorCarpiRadialis
+-123.042, -49.8413, -483.443
+-124.678, -53.3854, -483.449
+-127.622, -55.6523, -483.474
+
+O_FlexorCarpiUlnaris
+-82.3399, -8.76448, -203.8
+-80.0765, -11.9939, -201.973
+-78.4095, -15.2191, -201.056
+
+I_FlexorCarpiUlnaris
+-110.861, -37.5891, -489.893
+-107.922, -34.0034, -489.806
+-106.942, -29.9319, -490.02
+
+O_ExtensorRadialisLong
+-125.318, -34.4184, -177.952
+-128.005, -37.0905, -186.04
+-130.136, -39.7909, -192.817
+
+I_ExtensorRadialisLong
+-134.759, -44.9216, -506.051
+-138.504, -50.1648, -508.391
+-139.524, -55.8809, -506.73
+
+O_ExtensorRadialisBrevis
+-131.378, -41.9882, -198.057
+-131.888, -45.2138, -203.246
+-131.885, -47.8646, -209.206
+
+I_ExtensorRadialisBrevis
+-127.029, -26.7347, -507.248
+-129.957, -32.5267, -507.413
+-132.456, -37.2934, -507.757
+
+O_ExtensorUlnaris
+-128.759, -52.1604, -212.359
+-125.115, -55.0508, -216.844
+-121.543, -55.9723, -221.151
+
+I_ExtensorUlnaris
+-124.942, -23.8221, -506.878
+-122.716, -21.0848, -506.154
+-120.401, -18.4978, -505.196
+
+V_B_Deltoid_Ant
+-104.981, -52.4835, 5.77026
+-102.188, -55.7124, 5.77028
+-99.3061, -58.1194, 5.77028
+
+V_B_Deltoid_Mid
+-108.1, -49.132, 5.77026
+-110.973, -44.9397, 5.77026
+-113.331, -41.3741, 5.77026
+
+V_A_Deltoid_Mid
+-87.7647, -51.9564, 136.929
+-107.083, -38.5449, 135.646
+-119.672, -14.9935, 135.803
+
+V_B_Deltoid_Post
+-115.006, -37.7201, 5.77026
+-116.175, -32.5374, 5.77026
+-116.148, -27.145, 5.77026
+
+V_A_Deltoid_Post
+-113.915, -4.26598, 125.835
+-97.3718, 15.1501, 126.239
+-78.2242, 28.0691, 115.927
+
+V_B_Supraspinatus
+-103.423, -39.89, 123.895
+-99.9952, -45.1298, 123.895
+-95.1478, -50.1125, 123.895
+
+V_A_Supraspinatus
+-46.5189, 13.5646, 124.803
+-41.7932, 0.628769, 131.784
+-37.0399, -12.3826, 133.254
+
+V_A_Infraspinatus
+-71.5944, 11.642, 126.2
+-71.5944, 12.3856, 99.5803
+-71.5944, 5.33549, 72.1472
+
+V_A_Subscapularis
+-30.8899, -2.56194, 112.973
+-36.89, 1.91854, 95.5674
+-38.585, 3.49857, 72.9275
+
+V_A_TeresMinor
+-79.7438, 7.96823, 73.4205
+-79.4, 8.05059, 60.9782
+-75.6652, 10.8711, 47.6043
+
+V_B_Coracobrachialis
+-82.8193, -36.6909, 20.1422
+-80.1118, -37.4283, 14.3329
+-76.7898, -38.2079, 7.20493
+
+V_A_TricepsBrachiiLateral
+-115.086, -19.1789, 49.6051
+-113.745, -24.2509, 7.92049
+-112.903, -27.8795, -35.0426
+
+V_A_Brachialis
+-91.5408, -35.1868, -156.923
+-78.6503, -36.1933, -122.269
+-67.0905, -35.0681, -88.0582
+
+V_A_Brachioradialis
+-141.272, -33.993, -128.434
+-135.972, -35.0858, -151.266
+-132.273, -38.6015, -172.812
+
+V_A_PronatorTeres
+-79.1353, -27.8375, -185.586
+-74.9722, -25.8046, -189.857
+-72.0225, -22.6523, -195.157
+
+V_A_FlexorCarpiRadialis
+-75.7126, -23.4981, -198.273
+-79.8473, -26.2071, -196.105
+-84.3871, -29.1534, -194.891
+
+Wrap_SerratusAnterior_Sup
+-3.41035 -3.66585 66.2247
+-0.483567 -0.237584 0.842447 104.639
+31.2318 31.2319 31.2318
+
+Wrap_SerratusAnterior_Mid
+-13.3597 -20.1779 19.377
+-0.542166 -0.381093 0.748882 114.642
+41.6662 41.6665 41.6661
+
+Wrap_SerratusAnterior_Inf
+12.431 -29.3376 -17.3054
+0.628115 0.534855 -0.565156 234.642
+57.0052 57.0056 57.0051
+
+Wrap_Trapezius1
+5.61307 -7.94112 188.466
+-0.205057 0.977225 0.0546144 264.218
+32.615 32.6153 32.6149
+
+Wrap_Trapezius11
+-42.8163 -15.1773 144.27
+-0.619755 0.731963 -0.283078 245.968
+12.5046 12.5047 12.5045
+
+Wrap_Trapezius2
+23.2983 -7.55236 137.964
+0.208872 0.927457 -0.310155 257.628
+38.0763 38.0766 38.0759
+
+Wrap_Trapezius3
+10.0585 17.3398 105.87
+0.424923 0.76586 -0.482595 244.491
+47.8416 47.8421 47.8414
+
+Wrap_Trapezius4
+29.244 -9.3936 -13.9848
+-0.555723 -0.565849 0.609087 131.064
+60.7984 60.7988 60.7981
+
+Wrap_RhomboidMajor1
+25.0178 10.1227 94.8511
+0.503919 0.627435 -0.593625 238.42
+45.1111 45.1113 45.1108
+
+Wrap_RhomboidMajor2
+24.762 12.3363 44.4951
+-0.538716 -0.569895 0.620488 127.192
+45.1111 45.1114 45.1108
+
+Wrap_PectoralisMajorC
+-13.819 -43.0998 42.6683
+0.645906 0.490759 -0.584774 205.775
+39.3665 39.3667 39.3661
+
+Wrap_PectoralisMajorT1
+5.45804 -49.7656 8.49732
+0.587134 -0.700465 -0.405736 94.7225
+51.7892 51.7895 51.7887
+
+Wrap_PectoralisMajorT2
+14.7641 -62.8752 -40.3125
+0.525922 -0.560617 -0.639621 93.704
+59.9068 59.9071 59.9062
+
+Wrap_LatissimusDorsiT1
+15.6892 -14.8263 -61.0633
+-0.59537 0.646184 0.477473 245.195
+63.4398 63.4401 63.439
+
+Wrap_LatissimusDorsiT2
+-88.0434 -27.1301 31.952
+0.636137 -0.534533 0.556421 240.311
+13.6148 13.6149 13.6147
+
+Wrap_LatissimusDorsiL1
+9.03792 -64.2 -179.098
+0.617343 -0.489399 0.615935 229.55
+72.1533 72.1537 72.1525
+
+Wrap_LatissimusDorsiL2
+-86.2778 -25.6039 43.7062
+0.656398 -0.555744 0.510186 235.66
+13.6148 13.6149 13.6146
+
+Wrap_LatissimusDorsiI1
+7.08183 -64.8476 -140.365
+0.625326 -0.510242 0.590441 227.261
+84.0771 84.0776 84.0761
+
+Wrap_LatissimusDorsiI2
+-84.1357 -28.9095 55.0606
+0.626135 -0.610863 0.484563 239.248
+13.6148 13.6149 13.6146
+
+Wrap_Deltoid_Ant
+-74.2204 -35.3699 99.4869
+-0.655672 0.736026 0.168405 206.332
+36.5999 36.6003 36.5996
+
+Wrap_Deltoid_Mid
+-93.3558 -34.0485 108.668
+0.555185 0.479447 0.679632 121.526
+27.6994 27.6996 27.699
+
+Wrap_Deltoid_Post
+-95.4139 -31.8447 108.692
+0.502005 0.554321 0.663867 110.562
+29.0486 29.0488 29.0482
+
+Wrap_Supraspinatus
+-85.3005 -34.1928 110.134
+-0.326578 0.865877 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Infraspinatus
+-87.4601 -31.7053 109.613
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.958 20.9576
+
+Wrap_Subscapularis
+-71.8228 -18.7317 100.961
+-0.326577 0.865878 0.378949 93.2911
+20.9579 20.958 20.9576
+
+Wrap_TeresMinor
+-79.6975 -21.8557 79.1755
+-0.326578 0.865878 0.37895 93.2911
+20.9579 20.9579 20.9576
+
+Wrap_TeresMajor
+-30.1763 -8.57632 57.0835
+0.876527 -0.3727 0.304624 245.701
+44.0821 44.0823 44.0814
+
+Wrap_TricepsBrachiiLong1
+-92.811 -28.9904 -30.234
+0.566074 0.824169 0.017503 177.341
+25.2783 25.2785 25.2779
+
+Wrap_TricepsBrachiiLong2
+-105.124 -24.609 -172.498
+0.566074 0.824169 0.0175033 177.341
+16.4228 16.4229 16.4227
+
+Wrap_TricepsBrachiiMedial
+-107.344 -28.2981 -174.568
+0.565536 0.821633 -0.0713306 184.338
+16.4228 16.423 16.4226
+
+Wrap_TricepsBrachiiLateral
+-107.344 -28.2981 -174.568
+0.372304 0.926081 -0.0613566 186.021
+16.4229 16.423 16.4226
+
+Wrap_BicepsShort1
+-101.973 -22.7135 -56.0309
+0.518873 0.852053 -0.0691156 184.787
+38.3482 38.3483 38.3476
+
+Wrap_BicepsShort2
+-105.698 -47.0982 -202.995
+0.531462 0.846786 -0.0223905 183.56
+16.4229 16.423 16.4227
+
+Wrap_BicepsLong1
+-87.475 -41.9782 107.098
+0.865019 0.495218 -0.0806368 180.371
+27.3953 27.3956 27.395
+
+Wrap_BicepsLong2
+-102.46 -51.1125 -195.16
+0.714054 0.695233 -0.0823277 184.783
+15.2812 15.2813 15.281
+
+Wrap_Brachialis
+-93.9151 -37.2378 -204.333
+0.389849 0.918933 -0.0598364 188.064
+15.2812 15.2813 15.281
+
+Wrap_Brachioradialis
+-123.517 -45.1254 -211.02
+0.0782781 0.996337 -0.0344239 189.823
+15.2812 15.2813 15.281
+
+Wrap_Supinator
+-120.596 -48.9482 -272.388
+-0.484198 0.87378 -0.0453977 189.243
+19.6586 19.6585 19.6581
+
+Wrap_PronatorTeres
+-88.3875 -34.9264 -207.86
+0.428168 0.834212 -0.347507 195.632
+11.1718 11.1718 11.1716
+
+Wrap_FlexorCarpiRadialis
+-82.4623 -23.5885 -217.136
+0.00317948 0.0907327 0.99587 127.096
+14.2729 14.273 14.2727
+
+Wrap_FlexorCarpiUlnaris
+-82.6572 -16.5863 -224.311
+0.0479379 0.0664502 0.996637 194.466
+11.1319 11.1319 11.1317
+
+Wrap_ExtensorRadialisBrevis
+-121.684 -48.9945 -228.865
+0.213477 0.976836 0.0147875 187.723
+11.2915 11.2916 11.2913
+
+Wrap_ExtensorRadialisLong
+-125.318 -44.5981 -207.935
+0.209115 0.976834 -0.0454539 189.216
+11.2915 11.2916 11.2913
+
+Wrap_ExtensorUlnaris
+-114.934 -52.0925 -236.548
+0.00499339 0.99958 0.0285353 187.199
+12.7314 12.7317 12.7316
+
+RadiusCylinder
+-108.026 -32.17 -359.551
+0.258981 0.684336 0.681626 156.529
+10 135 10
+
+UlnaCylinder
+-122.12 -50.8565 -354.878
+0.258981 0.684336 0.681626 156.529
+8 130 8
+
diff --git a/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male_try0.dat b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male_try0.dat
new file mode 100755
index 0000000..3054d78
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/MuscleLandmarks_Male_try0.dat
@@ -0,0 +1 @@
+O_Subclavius 41.173,-61.1004,74.3713 33.7791,-55.6192,79.0972 26.4003,-49.2524,84.7164 I_Subclavius -18.9628,-50.1496,116.847, -29.7979,-40.5796,127.458, -42.6799,-27.9017,136.842, O_SerratusAnter_Sup,,, 7.11473,-25.4564,107.481, -4.75722,-35.3436,95.4018, -20.0527,-43.5299,65.8683, I_SerratusAnter_Sup,,, 8.25269,31.8953,143.063, 5.57788,45.7289,127.897, 3.21613,51.159,113.152, O_SerratusAnter_Mid,,, -17.3633,-53.9562,57.4158, -19.2921,-61.5052,36.9645, -23.4575,-71.6023,10.6339, I_SerratusAnter_Mid,,, 3.02161,51.5491,107.424, 1.14816,53.5467,88.547, 1.1871,53.6248,72.1515, O_SerratusAnter_Inf,,, -27.5202,-72.6188,8.71307, -46.0224,-63.196,-50.196, -29.8012,-14.2153,-112.074, I_SerratusAnter_Inf,,, 2.53498,53.4562,65.4505, 3.22746,54.1051,32.1917, 1.22095,46.0455,-3.41284, O_Trapezius1_desc,,, 65.7708,10.3614,174.891, 62.2393,-2.54769,189.818, 50.1239,-14.6636,205.927, I_Trapezius1_desc,,, -71.4862,-14.7671,151.693, -56.5513,-19.5776,149.34, -31.2114,-35.1224,135.334, O_Trapezius2_trans1,,, 66.9769,12.3058,170.794, 61.6777,24.7505,156.775, 63.3608,31.1681,134.665, I_Trapezius2_trans1,,, -82.3183,-10.9279,144.533, -74.7731,5.88579,145.223, -62.1524,19.4738,141.996, O_Trapezius3_trans2,,, 67.2553,32.248,132.813, 66.3593,38.6868,110.141, 65.7197,40.5623,88.4139, I_Trapezius3_trans2,,, -59.0516,23.1731,141.903, -51.0683,33.0072,138.195, -38.0913,45.7505,133.075, O_Trapezius4_ascen,,, 68.1699,46.1047,84.3377, 75.693,36.6174,-38.6546, 82.7894,10.3711,-148.248, I_Trapezius4_ascen,,, -5.60274,53.483,121.307, -23.5207,50.0347,121.515, -33.1462,49.1314,131.292, O_LevatorScapula,,, 51.853,1.31638,200.204, 52.0178,-3.53246,214.164, 50.9854,-9.48564,226.945, I_LevatorScapula,,, 2.38196,48.2173,129.524, 6.17926,43.4184,136.696, 5.72891,35.7942,144.633, O_RhomboidMinor,,, 63.1405,31.5971,133.582, 62.2852,28.3608,145.859, 61.2229,23.6989,156.756, I_RhomboidMinor,,, 1.67872,54.076,109.405, 1.64915,52.702,118.986, 5.2469,47.0867,128.577, O_RhomboidMajor1,,, 62.2852,43.1543,84.3148, 62.2852,40.2353,107.307, 65.3901,35.0595,126.602, I_RhomboidMajor1,,, 1.51352,55.3088,54.991, 0.630526,56.3441,82.4232, 1.32913,54.9104,104.071, O_RhomboidMajor2,,, 62.2852,45.0178,77.3576, 62.2852,44.7002,56.7764, 62.2852,42.1491,31.193, I_RhomboidMajor2,,, 2.41255,56.1105,49.7609, 2.66216,56.03,25.7417, 2.49325,51.8921,-1.87031, O_PectoralisMinor,,, -27.2316,-67.9489,14.084, -29.7807,-81.8396,-21.884, -32.5833,-90.3809,-49.9422, I_PectoralisMinor,,, -41.8205,-37.2758,121.601, -43.766,-41.4906,119.346, -45.2942,-45.6962,117.464, O_PectoralisMajorC,,, 5.53691,-71.5659,96.3807, 25.9738,-73.8488,84.1754, 46.6489,-74.0846,71.3169, I_PectoralisMajorC,,, -88.4546,-41.0864,13.1493, -88.4679,-42.5038,18.695, -88.2362,-43.739,26.1556, O_PectoralisMajorT1,,, 50.6804,-73.5314,54.6745, 66.4689,-97.4932,20.8385, 68.8433,-109.622,-6.17647, I_PectoralisMajorT1,,, -88.0576,-43.5763,24.3902, -87.5333,-43.629,32.291, -88.0135,-44.1796,39.6835, O_PectoralisMajorT2,,, 68.8722,-111.443,-12.3006, 68.0023,-124.986,-42.6489, 34.9687,-134.484,-83.761, I_PectoralisMajorT2,,, -87.8911,-44.3137,36.7488, -87.2422,-44.9449,45.6781, -86.3737,-46.0198,55.3074, O_LatissimusDorsiT,,, 80.4946,22.1353,-119.445, 75.3661,32.3963,-69.0448, 69.7617,43.0483,-8.37027, I_LatissimusDorsiT,,, -87.2575,-43.5928,36.7559, -87.915,-44.0204,30.5379, -88.4559,-43.8344,25.8456, O_LatissimusDorsiL,,, 81.3144,19.9538,-132.042, 76.7484,-1.31682,-184.542, 74.8828,-25.2829,-245.011, I_LatissimusDorsiL,,, -87.2781,-43.3133,39.7, -86.7881,-44.378,44.7898, -86.7108,-45.377,50.8744, O_LatissimusDorsiI,,, 74.376,-28.5886,-249.775, 71.6283,-25.8211,-280.409, 66.1161,-11.8491,-315.955, I_LatissimusDorsiI,,, -86.4171,-45.6955,54.0173, -86.6599,-44.5822,58.6471, -86.6915,-44.6787,64.2273, O_Deltoid_Ant,,, -81.2099,-32.5249,144.534, -60.3396,-32.7497,139.13, -36.6209,-46.4062,127.974, I_Deltoid_Ant,,, -97.6745,-42.7484,-40.1479, -97.4316,-42.7558,-31.0706, -97.5544,-41.8031,-21.0644, O_Deltoid_Mid,,, -86.1159,-36.6617,142.546, -102.061,-30.7953,136.712, -104.169,-0.870796,133.897, I_Deltoid_Mid,,, -101.231,-40.3669,-39.3615, -101.563,-40.2577,-31.1173, -101.172,-39.0617,-21.062, O_Deltoid_Post,,, -101.618,1.40366,133.112, -79.3147,15.6423,137.99, -47.147,39.7385,128.563, I_Deltoid_Post,,, -104.529,-37.2547,-39.271, -104.394,-37.4848,-30.247, -103.658,-35.647,-20.6574, O_Supraspinatus,,, -6.05771,37.0384,127.702, -3.07993,25.0142,136.136, -5.75559,13.9878,145.488, I_Supraspinatus,,, -107.568,-44.3173,112.798, -102.937,-51.0285,114.66, -96.6379,-55.0339,114.903, O_Infraspinatus,,, -10.0897,47.3045,109.304, -9.06789,52.0096,63.59, -5.93623,52.7654,15.5461, I_Infraspinatus,,, -110.26,-40.1495,112.134, -110.124,-31.2999,109.407, -105.764,-25.4884,101.054, O_Subscapularis,,, -1.72675,26.6173,130.33, -4.00714,49.4545,92.4763, -3.88998,43.5291,-1.33627, I_Subscapularis,,, -69.442,-49.5087,106.77, -67.8108,-45.8738,100.249, -70.8628,-44.2468,93.2889, O_TeresMinor,,, -57.115,10.7403,74.1963, -46.634,22.2325,55.628, -35.8198,31.9011,26.0915, I_TeresMinor,,, -103.808,-26.6255,97.5774, -100.926,-29.5764,91.2362, -100.228,-32.1254,83.7147, O_TeresMajor,,, -33.8561,33.6295,27.9485, -23.112,40.3727,9.75702, -10.8262,48.3963,-2.92881, I_TeresMajor,,, -90.6108,-23.6892,65.1377, -89.9696,-22.4911,54.8011, -88.9003,-21.5665,43.4691, O_Coracobrachialis,,, -58.3038,-51.0917,113.934, -53.417,-52.4021,114.229, -48.7533,-50.1628,114.264, I_Coracobrachialis,,, -86.3336,-38.074,3.02071, -86.9643,-37.3976,-8.87327, -88.0262,-35.5948,-21.3679, O_TricepsBrachiiLong,,, -6.60E+01,-2.53E+00,8.22E+01, -6.60E+01,-2.53E+00,8.22E+01, -6.60E+01,-2.53E+00,8.22E+01, I_TricepsBrachiiLong,,, -1.17E+02,-1.01E+01,-223.3103638, -1.17E+02,-1.01E+01,-223.3103638, -1.17E+02,-1.01E+01,-223.3103638, O_TricepsBrachiiMedial,,, -8.95E+01,-2.05E+01,2.38E+01, -102.0350571,-17.99755096,-145.1513519, -1.26E+02,-3.27E+01,-1.88E+02, I_TricepsBrachiiMedial,,, -107.689,-15.6051,-191.614, -113.445,-17.229,-189.762, -117.636,-20.0469,-190.445, O_TricepsBrachiiLateral,,, -9.32E+01,-2.54E+01,7.69E+01, -9.58E+01,-2.45E+01,5.51E+01, -9.87E+01,-2.42E+01,3.53E+01, I_TricepsBrachiiLateral,,, -116.355,-17.69,-189.53, -121.969,-21.5493,-190.734, -126.496,-24.3435,-193.696, O_BicepsShort,,, -5.59E+01,-5.32E+01,1.12E+02, -5.59E+01,-5.32E+01,1.12E+02, -5.59E+01,-5.32E+01,1.12E+02, I_BicepsShort,,, -1.12E+02,-5.77E+01,-2.60E+02, -1.12E+02,-5.77E+01,-2.60E+02, -1.12E+02,-5.77E+01,-2.60E+02, O_BicepsLong,,, -6.14E+01,-2.64E+01,1.24E+02, -6.14E+01,-2.64E+01,1.24E+02, -6.14E+01,-2.64E+01,1.24E+02, I_BicepsLong,,, -107.273,-55.2303,-258.127, -108.744,-58.0042,-250.003, -110.28,-60.8942,-241.577, O_Brachialis,,, -9.63E+01,-2.93E+01,-1.61E+02, -9.29E+01,-3.17E+01,-1.14E+02, -8.97E+01,-3.38E+01,-6.32E+01, I_Brachialis,,, -1.02E+02,-5.17E+01,-2.43E+02, -1.02E+02,-5.17E+01,-2.43E+02, -1.02E+02,-5.17E+01,-2.43E+02, O_Brachioradialis,,, -1.08E+02,-3.39E+01,-1.23E+02, -1.08E+02,-3.39E+01,-1.23E+02, -1.08E+02,-3.39E+01,-1.23E+02, I_Brachioradialis,,, -6.54E+01,-1.31E+02,-4.62E+02, -6.54E+01,-1.31E+02,-4.62E+02, -6.54E+01,-1.31E+02,-4.62E+02, O_Supinator,,, -1.24E+02,-3.70E+01,-2.48E+02, -1.24E+02,-3.70E+01,-2.48E+02, -1.24E+02,-3.70E+01,-2.48E+02, I_Supinator,,, -7.88E+01,-1.07E+02,-3.56E+02, -8.51E+01,-9.41E+01,-3.20E+02, -1.01E+02,-6.66E+01,-2.44E+02, O_PronatorTeres,,, -1.02E+02,-4.86E+01,-2.48E+02, -1.02E+02,-4.86E+01,-2.48E+02, -1.02E+02,-4.86E+01,-2.48E+02, I_PronatorTeres,,, -7.73E+01,-1.11E+02,-3.68E+02, -7.73E+01,-1.11E+02,-3.68E+02, -7.73E+01,-1.11E+02,-3.68E+02, O_FlexorCarpiRadialis,,, -8.04E+01,-1.32E+01,-2.06E+02, -8.04E+01,-1.32E+01,-2.06E+02, -8.04E+01,-1.32E+01,-2.06E+02, I_FlexorCarpiRadialis,,, -9.02E+01,-1.54E+02,-4.99E+02, -9.02E+01,-1.54E+02,-4.99E+02, -9.02E+01,-1.54E+02,-4.99E+02, O_FlexorCarpiUlnaris,,, -1.03E+02,-2.05E+01,-2.36E+02, -1.14E+02,-1.02E+02,-3.69E+02, -1.20E+02,-6.26E+01,-2.91E+02, I_FlexorCarpiUlnaris,,, -1.21E+02,-1.48E+02,-4.72E+02, -1.20E+02,-1.52E+02,-4.88E+02, -1.21E+02,-1.53E+02,-4.96E+02, O_ExtensorRadialisLong,,, -1.28E+02,-4.49E+01,-1.92E+02, -1.28E+02,-4.49E+01,-1.92E+02, -1.28E+02,-4.49E+01,-1.92E+02, I_ExtensorRadialisLong,,, -9.11E+01,-1.55E+02,-4.99E+02, -9.11E+01,-1.55E+02,-4.99E+02, -9.11E+01,-1.55E+02,-4.99E+02, O_ExtensorRadialisBrevis,,, -1.28E+02,-5.41E+01,-2.09E+02, -1.28E+02,-5.41E+01,-2.09E+02, -1.28E+02,-5.41E+01,-2.09E+02, I_ExtensorRadialisBrevis,,, -1.00E+02,-1.54E+02,-5.03E+02, -1.00E+02,-1.54E+02,-5.03E+02, -1.00E+02,-1.54E+02,-5.03E+02, O_ExtensorUlnaris,,, -1.12E+02,-8.93E+01,-3.49E+02, -1.12E+02,-8.93E+01,-3.49E+02, -1.12E+02,-8.93E+01,-3.49E+02, I_ExtensorUlnaris,,, -1.25E+02,-1.56E+02,-4.98E+02, -1.25E+02,-1.56E+02,-4.98E+02, -1.25E+02,-1.56E+02,-4.98E+02, V_B_Deltoid_Ant,,, -104.981,-52.4835,5.77026, -102.188,-55.7124,5.77028, -99.3061,-58.1194,5.77028, V_B_Deltoid_Mid,,, -108.1,-49.132,5.77026, -110.973,-44.9397,5.77026, -113.331,-41.3741,5.77026, V_A_Deltoid_Mid,,, -87.7647,-51.9564,136.929, -107.083,-38.5449,135.646, -119.672,-14.9935,135.803, V_B_Deltoid_Post,,, -115.006,-37.7201,5.77026, -116.175,-32.5374,5.77026, -116.148,-27.145,5.77026, V_A_Deltoid_Post,,, -113.915,-4.26598,125.835, -97.3718,15.1501,126.239, -78.2242,28.0691,115.927, V_B_Supraspinatus,,, -103.423,-39.89,123.895, -99.9952,-45.1298,123.895, -95.1478,-50.1125,123.895, V_A_Supraspinatus,,, -46.5189,13.5646,124.803, -41.7932,0.628769,131.784, -37.0399,-12.3826,133.254, V_A_Infraspinatus,,, -71.5944,11.642,126.2, -71.5944,12.3856,99.5803, -71.5944,5.33549,72.1472, V_A_Subscapularis,,, -30.8899,-2.56194,112.973, -36.89,1.91854,95.5674, -38.585,3.49857,72.9275, V_A_TeresMinor,,, -79.7438,7.96823,73.4205, -79.4,8.05059,60.9782, -75.6652,10.8711,47.6043, V_B_Coracobrachialis,,, -82.8193,-36.6909,20.1422, -80.1118,-37.4283,14.3329, -76.7898,-38.2079,7.20493, V_A_TricepsBrachiiLateral,,, -115.086,-19.1789,49.6051, -113.745,-24.2509,7.92049, -112.903,-27.8795,-35.0426, V_A_Brachialis,,, -91.5408,-35.1868,-156.923, -78.6503,-36.1933,-122.269, -67.0905,-35.0681,-88.0582, V_A_Brachioradialis,,, -141.272,-33.993,-128.434, -135.972,-35.0858,-151.266, -132.273,-38.6015,-172.812, V_A_PronatorTeres,,, -79.1353,-27.8375,-185.586, -74.9722,-25.8046,-189.857, -72.0225,-22.6523,-195.157, V_A_FlexorCarpiRadialis,,, -75.7126,-23.4981,-198.273, -79.8473,-26.2071,-196.105, -84.3871,-29.1534,-194.891, Wrap_SerratusAnterior_Sup,,, -3.41035 -3.66585 66.2247,,, -0.483567 -0.237584 0.842447 104.639,,, 31.2318 31.2319 31.2318,,, Wrap_SerratusAnterior_Mid,,, -13.3597 -20.1779 19.377,,, -0.542166 -0.381093 0.748882 114.642,,, 41.6662 41.6665 41.6661,,, Wrap_SerratusAnterior_Inf,,, 12.431 -29.3376 -17.3054,,, 0.628115 0.534855 -0.565156 234.642,,, 57.0052 57.0056 57.0051,,, Wrap_Trapezius1,,, 5.61307 -7.94112 188.466,,, -0.205057 0.977225 0.0546144 264.218,,, 32.615 32.6153 32.6149,,, Wrap_Trapezius11,,, -42.8163 -15.1773 144.27,,, -0.619755 0.731963 -0.283078 245.968,,, 12.5046 12.5047 12.5045,,, Wrap_Trapezius2,,, 23.2983 -7.55236 137.964,,, 0.208872 0.927457 -0.310155 257.628,,, 38.0763 38.0766 38.0759,,, Wrap_Trapezius3,,, 10.0585 17.3398 105.87,,, 0.424923 0.76586 -0.482595 244.491,,, 47.8416 47.8421 47.8414,,, Wrap_Trapezius4,,, 29.244 -9.3936 -13.9848,,, -0.555723 -0.565849 0.609087 131.064,,, 60.7984 60.7988 60.7981,,, Wrap_RhomboidMajor1,,, 25.0178 10.1227 94.8511,,, 0.503919 0.627435 -0.593625 238.42,,, 45.1111 45.1113 45.1108,,, Wrap_RhomboidMajor2,,, 24.762 12.3363 44.4951,,, -0.538716 -0.569895 0.620488 127.192,,, 45.1111 45.1114 45.1108,,, Wrap_PectoralisMajorC,,, -13.819 -43.0998 42.6683,,, 0.645906 0.490759 -0.584774 205.775,,, 39.3665 39.3667 39.3661,,, Wrap_PectoralisMajorT1,,, 5.45804 -49.7656 8.49732,,, 0.587134 -0.700465 -0.405736 94.7225,,, 51.7892 51.7895 51.7887,,, Wrap_PectoralisMajorT2,,, 14.7641 -62.8752 -40.3125,,, 0.525922 -0.560617 -0.639621 93.704,,, 59.9068 59.9071 59.9062,,, Wrap_LatissimusDorsiT1,,, 15.6892 -14.8263 -61.0633,,, -0.59537 0.646184 0.477473 245.195,,, 63.4398 63.4401 63.439,,, Wrap_LatissimusDorsiT2,,, -88.0434 -27.1301 31.952,,, 0.636137 -0.534533 0.556421 240.311,,, 13.6148 13.6149 13.6147,,, Wrap_LatissimusDorsiL1,,, 9.03792 -64.2 -179.098,,, 0.617343 -0.489399 0.615935 229.55,,, 72.1533 72.1537 72.1525,,, Wrap_LatissimusDorsiL2,,, -86.2778 -25.6039 43.7062,,, 0.656398 -0.555744 0.510186 235.66,,, 13.6148 13.6149 13.6146,,, Wrap_LatissimusDorsiI1,,, 7.08183 -64.8476 -140.365,,, 0.625326 -0.510242 0.590441 227.261,,, 84.0771 84.0776 84.0761,,, Wrap_LatissimusDorsiI2,,, -84.1357 -28.9095 55.0606,,, 0.626135 -0.610863 0.484563 239.248,,, 13.6148 13.6149 13.6146,,, Wrap_Deltoid_Ant,,, -74.2204 -35.3699 99.4869,,, -0.655672 0.736026 0.168405 206.332,,, 36.5999 36.6003 36.5996,,, Wrap_Deltoid_Mid,,, -93.3558 -34.0485 108.668,,, 0.555185 0.479447 0.679632 121.526,,, 27.6994 27.6996 27.699,,, Wrap_Deltoid_Post,,, -95.4139 -31.8447 108.692,,, 0.502005 0.554321 0.663867 110.562,,, 29.0486 29.0488 29.0482,,, Wrap_Supraspinatus,,, -85.3005 -34.1928 110.134,,, -0.326578 0.865877 0.37895 93.2911,,, 20.9579 20.958 20.9576,,, Wrap_Infraspinatus,,, -87.4601 -31.7053 109.613,,, -0.326578 0.865878 0.37895 93.2911,,, 20.9579 20.958 20.9576,,, Wrap_Subscapularis,,, -71.8228 -18.7317 100.961,,, -0.326577 0.865878 0.378949 93.2911,,, 20.9579 20.958 20.9576,,, Wrap_TeresMinor,,, -79.6975 -21.8557 79.1755,,, -0.326578 0.865878 0.37895 93.2911,,, 20.9579 20.9579 20.9576,,, Wrap_TeresMajor,,, -30.1763 -8.57632 57.0835,,, 0.876527 -0.3727 0.304624 245.701,,, 44.0821 44.0823 44.0814,,, Wrap_TricepsBrachiiLong1,,, -152.0354,,, 0.566074 0.824169 0.017503 177.341,,, 25.2783 25.2785 25.2779,,, Wrap_TricepsBrachiiLong2,,, -302.231,,, 0.566074 0.824169 0.0175033 177.341,,, 16.4228 16.4229 16.4227,,, Wrap_TricepsBrachiiMedial,,, -310.2101,,, 0.565536 0.821633 -0.0713306 184.338,,, 16.4228 16.423 16.4226,,, Wrap_TricepsBrachiiLateral,,, -310.2101,,, 0.372304 0.926081 -0.0613566 186.021,,, 16.4229 16.423 16.4226,,, Wrap_BicepsShort1,,, -180.7174,,, 0.518873 0.852053 -0.0691156 184.787,,, 38.3482 38.3483 38.3476,,, Wrap_BicepsShort2,,, -355.7912,,, 0.531462 0.846786 -0.0223905 183.56,,, 16.4229 16.423 16.4227,,, Wrap_BicepsLong1,,, -87.475 -41.9782 107.098,,, 0.865019 0.495218 -0.0806368 180.371,,, 27.3953 27.3956 27.395,,, Wrap_BicepsLong2,,, -348.7325,,, 0.714054 0.695233 -0.0823277 184.783,,, 15.2812 15.2813 15.281,,, Wrap_Brachialis,,, -335.4859,,, 0.389849 0.918933 -0.0598364 188.064,,, 15.2812 15.2813 15.281,,, Wrap_Brachioradialis,,, -379.6624,,, 0.0782781 0.996337 -0.0344239 189.823,,, 15.2812 15.2813 15.281,,, Wrap_Supinator,,, -441.9322,,, -0.484198 0.87378 -0.0453977 189.243,,, 19.6586 19.6585 19.6581,,, Wrap_PronatorTeres,,, -331.1739,,, 0.428168 0.834212 -0.347507 195.632,,, 11.1718 11.1718 11.1716,,, Wrap_FlexorCarpiRadialis,,, -323.1868,,, 0.00317948 0.0907327 0.99587 127.096,,, 14.2729 14.273 14.2727,,, Wrap_FlexorCarpiUlnaris,,, -323.5545,,, 0.0479379 0.0664502 0.996637 194.466,,, 11.1319 11.1319 11.1317,,, Wrap_ExtensorRadialisBrevis,,, -399.5435,,, 0.213477 0.976836 0.0147875 187.723,,, 11.2915 11.2916 11.2913,,, Wrap_ExtensorRadialisLong,,, -377.8511,,, 0.209115 0.976834 -0.0454539 189.216,,, 11.2915 11.2916 11.2913,,, Wrap_ExtensorUlnaris,,, -403.5745,,, 0.00499339 0.99958 0.0285353 187.199,,, 12.7314 12.7317 12.7316,,, RadiusCylinder,,, -499.747,,, 0.258981 0.684336 0.681626 156.529,,, 10 135 10,,, UlnaCylinder,,, -527.8545,,, 0.258981 0.684336 0.681626 156.529,,, 8 130 8,,,
\ No newline at end of file
diff --git a/ShoulderModel/INITIALISATION_Dataset/changes_landmarks_obstacles.m b/ShoulderModel/INITIALISATION_Dataset/changes_landmarks_obstacles.m
new file mode 100755
index 0000000..bb9aff6
--- /dev/null
+++ b/ShoulderModel/INITIALISATION_Dataset/changes_landmarks_obstacles.m
@@ -0,0 +1,139 @@
+Wrap_TricepsBrachiiLong2
+-105.124 -24.609 -172.498
+0.566074 0.824169 0.0175033 177.341
+16.4228 16.4229 16.4227
+
+Wrap_TricepsBrachiiLong2
+-105.124 -24.609 -195
+0.566074 0.824169 0.0175033 177.341
+20 16.4229 16.4227
+% -------------------------------------------------------------------------
+O_TricepsBrachiiMedial
+-1.2578e+002, -3.2718e+001, -1.8775e+002
+-9.9892e+001, -1.6981e+001, -8.0009e+001
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+
+O_TricepsBrachiiMedial
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+-9.1234e+001, -1.9243e+001, 9.7453e+000
+% -------------------------------------------------------------------------
+Wrap_TricepsBrachiiMedial
+-107.344 -28.2981 -174.568
+0.565536 0.821633 -0.0713306 184.338
+16.4228 16.423 16.4226
+
+Wrap_TricepsBrachiiMedial
+-107.344 -28.2981 -197
+0.565536 0.821633 -0.0713306 184.338
+16.4228 16.423 16.4226
+% -------------------------------------------------------------------------
+Wrap_TricepsBrachiiLateral
+-107.344 -28.2981 -174.568
+0.372304 0.926081 -0.0613566 186.021
+16.4229 16.423 16.4226
+
+Wrap_TricepsBrachiiLateral
+-107.344 -28.2981 -202
+0.372304 0.926081 -0.0613566 186.021
+18 16.423 16.4226
+% -------------------------------------------------------------------------
+Wrap_BicepsLong1
+-87.475 -41.9782 107.098
+0.865019 0.495218 -0.0806368 180.371
+27.3953 27.3956 27.395
+
+Wrap_BicepsLong1
+-82 -41.9782 104
+0.865019 0.495218 -0.0806368 180.371
+24.3953 27.3956 27.395
+% -------------------------------------------------------------------------
+O_Brachialis
+-9.6318e+001, -2.9332e+001, -1.6084e+002
+-9.2896e+001, -3.1680e+001, -1.1401e+002
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+
+O_Brachialis
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+-8.9670e+001, -3.3791e+001, -6.3246e+001
+% -------------------------------------------------------------------------
+% I did this (replacing the three insertion points with the
+%last one) because the wrapping after the supination looks much more reasonable
+% for in this case. The other option is to use the three segments for it.
+% But still the other first segments do not look very good.
+I_Supinator
+-1.0099e+002, -6.6579e+001, -2.4427e+002
+-9.2930e+001, -7.6800e+001, -2.8000e+002
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+
+I_Supinator
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+-8.4980e+001, -8.6370e+001, -3.0868e+002
+% -------------------------------------------------------------------------
+V_A_PronatorTeres
+-79.1353, -27.8375, -185.586
+-74.9722, -25.8046, -189.857
+-72.0225, -22.6523, -195.157
+
+V_A_PronatorTeres
+-79.1353, -27.8375, -195
+-74.9722, -25.8046, -199
+-72.0225, -22.6523, -205
+% -------------------------------------------------------------------------
+Wrap_FlexorCarpiRadialis
+-82.4623 -23.5885 -217.136
+0.00317948 0.0907327 0.99587 127.096
+14.2729 14.273 14.2727
+
+Wrap_FlexorCarpiRadialis
+-82.4623 -23.5885 -222
+0.00317948 0.0907327 0.99587 127.096
+14.2729 14.273 14.2727
+% -------------------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/LOGOS/CHUVLogo.png b/ShoulderModel/LOGOS/CHUVLogo.png
new file mode 100755
index 0000000..de51f06
Binary files /dev/null and b/ShoulderModel/LOGOS/CHUVLogo.png differ
diff --git a/ShoulderModel/LOGOS/EPFLLogo.png b/ShoulderModel/LOGOS/EPFLLogo.png
new file mode 100755
index 0000000..3804920
Binary files /dev/null and b/ShoulderModel/LOGOS/EPFLLogo.png differ
diff --git a/ShoulderModel/LOGOS/JointsFigure.eps b/ShoulderModel/LOGOS/JointsFigure.eps
new file mode 100755
index 0000000..a937827
Binary files /dev/null and b/ShoulderModel/LOGOS/JointsFigure.eps differ
diff --git a/ShoulderModel/LOGOS/JointsFigure.png b/ShoulderModel/LOGOS/JointsFigure.png
new file mode 100755
index 0000000..5dddc8f
Binary files /dev/null and b/ShoulderModel/LOGOS/JointsFigure.png differ
diff --git a/ShoulderModel/LOGOS/JointsFigure2.png b/ShoulderModel/LOGOS/JointsFigure2.png
new file mode 100755
index 0000000..699004c
Binary files /dev/null and b/ShoulderModel/LOGOS/JointsFigure2.png differ
diff --git a/ShoulderModel/LOGOS/LALogo.jpg b/ShoulderModel/LOGOS/LALogo.jpg
new file mode 100755
index 0000000..c9310f4
Binary files /dev/null and b/ShoulderModel/LOGOS/LALogo.jpg differ
diff --git a/ShoulderModel/LOGOS/LBOLogo.png b/ShoulderModel/LOGOS/LBOLogo.png
new file mode 100755
index 0000000..9eab974
Binary files /dev/null and b/ShoulderModel/LOGOS/LBOLogo.png differ
diff --git a/ShoulderModel/LOGOS/MAINPix.png b/ShoulderModel/LOGOS/MAINPix.png
new file mode 100755
index 0000000..da526f9
Binary files /dev/null and b/ShoulderModel/LOGOS/MAINPix.png differ
diff --git a/ShoulderModel/LOGOS/MusclesFigure.eps b/ShoulderModel/LOGOS/MusclesFigure.eps
new file mode 100755
index 0000000..13f10e5
Binary files /dev/null and b/ShoulderModel/LOGOS/MusclesFigure.eps differ
diff --git a/ShoulderModel/LOGOS/MusclesFigure.png b/ShoulderModel/LOGOS/MusclesFigure.png
new file mode 100755
index 0000000..5088d77
Binary files /dev/null and b/ShoulderModel/LOGOS/MusclesFigure.png differ
diff --git a/ShoulderModel/LOGOS/MusclesFigure2.eps b/ShoulderModel/LOGOS/MusclesFigure2.eps
new file mode 100755
index 0000000..7ced4aa
Binary files /dev/null and b/ShoulderModel/LOGOS/MusclesFigure2.eps differ
diff --git a/ShoulderModel/LOGOS/MusclesFigure2.png b/ShoulderModel/LOGOS/MusclesFigure2.png
new file mode 100755
index 0000000..d2b799c
Binary files /dev/null and b/ShoulderModel/LOGOS/MusclesFigure2.png differ
diff --git a/ShoulderModel/MADATA.mat b/ShoulderModel/MADATA.mat
new file mode 100755
index 0000000..32dbe14
Binary files /dev/null and b/ShoulderModel/MADATA.mat differ
diff --git a/ShoulderModel/MAIN_TOOL_geometry_functions.m b/ShoulderModel/MAIN_TOOL_geometry_functions.m
new file mode 100755
index 0000000..3f68268
--- /dev/null
+++ b/ShoulderModel/MAIN_TOOL_geometry_functions.m
@@ -0,0 +1,750 @@
+function Output = MAIN_TOOL_geometry_functions(task, varargin)
+% Function containing all geometry related tasks.
+%{
+--------------------------------------------------------------------------
+Syntax :
+Output = MAIN_TOOL_geometry_functions(task, varargin)
+--------------------------------------------------------------------------
+
+File Description :
+This file contains all the routines related to geometry. These routines
+affect the intial and current geometric configuration of the model.
+
+This function can have multiple intputs depending on the task. However,
+the first input is always the desired to task to be performed. The list
+of tasks are as follows:
+
+ Task 1 : Build Rotation Matrices From Euler Angles
+ Task 2 : Get Euler Angles From Original Rotation Matrices
+ Task 3 : Get Euler Angles From Initial Rotation Matrices
+ Task 4 : Get Euler Angles From Current Rotation Matrices
+ Task 5 : Rotate Points From Local To Global Frame (Initial)
+ Task 6 : Rotate Points From Global To Local Frame (Initial)
+ Task 7 : Rotate Points From Local To Global Frame (Current)
+ Task 8 : Rotate Points From Global To Local Frame (Current)
+ Task 9 : Update Initial Bony Landmark Data from Joint Rotation Matrices
+ Task 10: Update Current Bony Landmark Data from Joint Rotation Matrices
+
+--------------------------------------------------------------------------
+%}
+% Initialise the Output
+Output = [];
+
+%--------------------------------------------------------------------------
+% TASK 1 : BUILD ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Joint Euler angles
+% Outputs :
+% A single array containing three joint rotation matrices [Rc, Rs, Rh]
+%--------------------------------------------------------------------------
+if isequal(task, 'Build Rotation Matrices From Euler Angles')
+
+ % Get the Joint Angles
+ JEA = varargin{1,1};% varargin is a 1-by-N cell array, where N is the number of inputs that the function receives after the explicitly declared inputs
+
+ BLDATA = varargin{1,2}; % lately added to feed in the BLDATA for the rotation matrices of the ulna and radius regarding their proximal segments
+
+ % Clavicula Rotation Matrix
+ Rcx = [1.00, 0.0000, 0.0000;
+ 0.00, cos(JEA(1)), -sin(JEA(1));
+ 0.00, sin(JEA(1)), cos(JEA(1))];
+
+ Rcy = [cos(JEA(2)), 0.00, -sin(JEA(2));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(2)), 0.00, cos(JEA(2))];
+
+ Rcz = [cos(JEA(3)), -sin(JEA(3)), 0.00;
+ sin(JEA(3)), cos(JEA(3)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rc = Rcz*Rcy'*Rcx;
+
+ % Scapula Rotation Matrix
+ Rsx = [1.00, 0.0000, 0.0000;
+ 0.00, cos(JEA(4)), -sin(JEA(4));
+ 0.00, sin(JEA(4)), cos(JEA(4))];
+
+ Rsy = [cos(JEA(5)), 0.00, -sin(JEA(5));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(5)), 0.00, cos(JEA(5))];
+
+ Rsz = [cos(JEA(6)), -sin(JEA(6)), 0.00;
+ sin(JEA(6)), cos(JEA(6)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rs = Rsz*Rsy'*Rsx;
+
+ % Humerus Rotation Matrix
+ Rhz = [cos(JEA(7)), -sin(JEA(7)), 0.00;
+ sin(JEA(7)), cos(JEA(7)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rhy = [cos(JEA(8)), 0.00, -sin(JEA(8));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(8)), 0.00, cos(JEA(8))];
+
+ Rhzz = [cos(JEA(9)), -sin(JEA(9)), 0.00;
+ sin(JEA(9)), cos(JEA(9)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rh = Rhzz*Rhy'*Rhz;
+
+ %Ulna Rotation Matrix
+ Rux = [1.00, 0.00, 0.00;
+ 0.00, cos(JEA(10)), -sin(JEA(10));
+ 0.00, sin(JEA(10)), cos(JEA(10))];% ulna to the proximal segment part 1
+
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru; % ulna to the proximal segment part 1
+
+ Ru = Rh*Ru_h*Rux; % ulna to the inertial frame (thorax)
+
+ %Radius Rotation Matrix
+ Rrz = [cos(JEA(11)), -sin(JEA(11)), 0.00;
+ sin(JEA(11)), cos(JEA(11)), 0.00;
+ 0.00, 0.00, 1.00]; % radius to the proximal segment part 1
+
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr; % radius to the proximal segment part 2
+
+ Rr = Ru*Rr_u*Rrz; % radius to the inertial frame (thorax)
+
+ Output = [Rc, Rs, Rh, Ru, Rr];
+
+%--------------------------------------------------------------------------
+% TASK 2 : EXTRACT EULER ANGLES FROM ORIGINAL MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Original Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Original_Matrices_L2A.Rc;
+ Rs = BLDATA.Original_Matrices_L2A.Rs;
+ Rh = BLDATA.Original_Matrices_L2A.Rh;
+ Ru = BLDATA.Original_Matrices_L2A.Ru;
+ Rr = BLDATA.Original_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Ulna Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+
+ THETAr = atan2(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 3 : EXTRACT EULER ANGLES FROM INITIAL MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Initial Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+ %Rux=Rh'*Ru;
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Radius Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+ %Rrz=Ru'*Rr;
+ THETAr = atan2(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 4: EXTRACT EULER ANGLES FROM CURRENT MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Current Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+ %Rux=Rh'*Ru;
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Ulna Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+ %Rrz=Ru'*Rr;
+ THETAr = atan2d(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 5: ROTATE A SET OF POINTS INTO THE GLOBAL FRAME (INITIAL CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are defined
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Local To Global Frame (Initial)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Initial_Points.SC;
+ AA = BLDATA.Initial_Points.AA;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ CP = BLDATA.Initial_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = P(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc*Q(:,i) + SC;
+ elseif frameId == 2
+ Output(:,i) = Rs*Q(:,i) + AA;
+ elseif frameId == 3
+ Output(:,i) = Rh*Q(:,i) + GH;
+ elseif frameId == 4
+ Output(:,i) = Ru*Q(:,i) + HU;
+ elseif frameId == 5
+ Output(:,i) = Rr*Q(:,i) + CP;
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 6: ROTATE A SET OF POINTS INTO A LOCAL FRAME (INITIAL CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are to be transformed
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Global To Local Frame (Initial)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Initial_Points.SC;
+ AA = BLDATA.Initial_Points.AA;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ CP = BLDATA.Initial_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc'*(Q(:,i) - SC);
+ elseif frameId == 2
+ Output(:,i) = Rs'*(Q(:,i) - AA);
+ elseif frameId == 3
+ Output(:,i) = Rh'*(Q(:,i) - GH);
+ elseif frameId == 4
+ Output(:,i) = Ru'*(Q(:,i) - HU);
+ elseif frameId == 5
+ Output(:,i) = Rr'*(Q(:,i) - CP);
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 7: ROTATE A SET OF POINTS INTO THE GLOBAL FRAME (CURRENT CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are defined
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Local To Global Frame (Current)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+ % Get the necessary bony landmarks
+ SC = BLDATA.Current_Points.SC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc*Q(:,i) + SC;
+ elseif frameId == 2
+ Output(:,i) = Rs*Q(:,i) + AA;
+ elseif frameId == 3
+ Output(:,i) = Rh*Q(:,i) + GH;
+ elseif frameId == 4
+ Output(:,i) = Ru*Q(:,i) + HU;
+ elseif frameId == 5
+ Output(:,i) = Rr*Q(:,i) + CP;
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 8: ROTATE A SET OF POINTS INTO A LOCAL FRAME (Current CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are to be transformed
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Global To Local Frame (Current)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Current_Points.SC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc'*(Q(:,i) - SC);
+ elseif frameId == 2
+ Output(:,i) = Rs'*(Q(:,i) - AA);% why this point is AA?
+ elseif frameId == 3
+ Output(:,i) = Rh'*(Q(:,i) - GH);
+ elseif frameId == 4
+ Output(:,i) = Ru'*(Q(:,i) - HU);
+ elseif frameId == 5
+ Output(:,i) = Rr'*(Q(:,i) - CP);
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 9: UPDATE BONY LANDMARK DATA FROM JOINT ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Rc : SC rotation matrix
+% 3) Rs : AC rotation matrix
+% 4) Rh : GH rotation matrix
+% 5) Ru : HU rotation matrix
+% 6) Rr : RU rotation matrix
+% 7) BLDATA : bonylandmark data
+% Outputs :
+% BLDATA : the bony landmark data with updated initial configuration
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Initial Bony Landmark Data from Joint Rotation Matrices')
+ % Get the SC joint rotation matrix
+ Rc = varargin{1,1};
+
+ % Get the AC joint rotation matrix
+ Rs = varargin{1,2};
+
+ % Get the GH joint rotation matrix
+ Rh = varargin{1,3};
+
+ % Get the HU joint rotation matrix
+ Ru = varargin{1,4};
+
+ % Get the RU joint rotation matrix
+ Rr = varargin{1,5};
+
+ % Get the BLDATA input
+ BLDATA = varargin{1,6};
+
+ % Get Initial Rotation Matrices
+ Rci = BLDATA.Original_Matrices_L2A.Rc;
+ Rsi = BLDATA.Original_Matrices_L2A.Rs;
+ Rhi = BLDATA.Original_Matrices_L2A.Rh;
+ Rui = BLDATA.Original_Matrices_L2A.Ru;
+ Rri = BLDATA.Original_Matrices_L2A.Rr;
+
+ % Ge all the points (these points are in the thorax frame i.e. matlab frame)
+ IJ = BLDATA.Original_Points.IJ;
+ PX = BLDATA.Original_Points.PX;
+ T8 = BLDATA.Original_Points.T8;
+ C7 = BLDATA.Original_Points.C7;
+ SC = BLDATA.Original_Points.SC;
+ AC = BLDATA.Original_Points.AC;
+ AA = BLDATA.Original_Points.AA;
+ TS = BLDATA.Original_Points.TS;
+ AI = BLDATA.Original_Points.AI;
+ GH = BLDATA.Original_Points.GH;
+ HU = BLDATA.Original_Points.HU;
+ EL = BLDATA.Original_Points.EL;
+ EM = BLDATA.Original_Points.EM;
+ CP = BLDATA.Original_Points.CP;
+ US = BLDATA.Original_Points.US;
+ RS = BLDATA.Original_Points.RS;
+
+ % Set the Points
+ BLDATA.Initial_Points.IJ = IJ;
+ BLDATA.Initial_Points.PX = PX;
+ BLDATA.Initial_Points.T8 = T8;
+ BLDATA.Initial_Points.C7 = C7;
+ BLDATA.Initial_Points.SC = SC;
+ BLDATA.Initial_Points.AC = Rc*Rci'*(AC - SC) + BLDATA.Initial_Points.SC;% Rci'*(AC - SC) is AC in Clavicle coordinate, so with the rotation matrix Rc we can define its new position in the inertial frame as such.
+ BLDATA.Initial_Points.AA = Rs*Rsi'*(AA - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.TS = Rs*Rsi'*(TS - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.AI = Rs*Rsi'*(AI - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.GH = Rs*Rsi'*(GH - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.HU = Rh*Rhi'*(HU - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.EL = Rh*Rhi'*(EL - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.EM = Rh*Rhi'*(EM - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.US = Ru*Rui'*(US - HU) + BLDATA.Initial_Points.HU;
+ BLDATA.Initial_Points.CP = Rh*Rhi'*(CP - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.RS = Rr*Rri'*(RS - CP) + BLDATA.Initial_Points.CP;
+
+ % Set the Rotation Matrices
+ BLDATA.Initial_Matrices_L2A.Rc = Rc;
+ BLDATA.Initial_Matrices_L2A.Rs = Rs;
+ BLDATA.Initial_Matrices_L2A.Rh = Rh;
+ BLDATA.Initial_Matrices_L2A.Ru = Ru;
+ BLDATA.Initial_Matrices_L2A.Rr = Rr;
+
+ % Set the wire frame bones
+ BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+ BLDATA.Initial_WFBones.Clavicula = ...
+ [BLDATA.Initial_Points.SC,...
+ BLDATA.Initial_Points.AC];
+ BLDATA.Initial_WFBones.Scapula = ...
+ [BLDATA.Initial_Points.AC,...
+ BLDATA.Initial_Points.AA,...
+ BLDATA.Initial_Points.TS,...
+ BLDATA.Initial_Points.AI,...
+ BLDATA.Initial_Points.GH,...
+ BLDATA.Initial_Points.AC];
+ BLDATA.Initial_WFBones.Humerus =...
+ [BLDATA.Initial_Points.GH,...
+ BLDATA.Initial_Points.HU,...
+ BLDATA.Initial_Points.EL,...
+ BLDATA.Initial_Points.EM];
+ BLDATA.Initial_WFBones.Ulna =...
+ [BLDATA.Initial_Points.CP,...
+ BLDATA.Initial_Points.HU,...
+ BLDATA.Initial_Points.EM,...
+ BLDATA.Initial_Points.US];
+ BLDATA.Initial_WFBones.Radius =...
+ [BLDATA.Initial_Points.CP,...
+ BLDATA.Initial_Points.RS];
+
+ % Set the Garner and Pandy Scapular Rotation Matrix
+ Zaxis = BLDATA.Initial_Points.AC - BLDATA.Initial_Points.GH; Zaxis = Zaxis/norm(Zaxis);
+ Yaxis = cross(Zaxis, BLDATA.Initial_Points.AC - BLDATA.Initial_Points.TS); Yaxis = Yaxis/norm(Yaxis);
+ Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+ % Set the rotation matrix
+ BLDATA.Initial_GnP.Rs = [Xaxis, Yaxis, Zaxis];
+
+ % Set the output
+ Output = BLDATA;
+%--------------------------------------------------------------------------
+% TASK 10: UPDATE BONY LANDMARK DATA FROM JOINT ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Rc : SC rotation matrix
+% 3) Rs : AC rotation matrix
+% 4) Rh : GH rotation matrix
+% 5) Ru : HU rotation matrix
+% 6) Rr : RU rotation matrix
+% 7) BLDATA : bonylandmark data
+% Outputs :
+% BLDATA : the bony landmark data with updated current configuration
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Current Bony Landmark Data from Joint Rotation Matrices')
+ % Get the SC joint rotation matrix
+ Rc = varargin{1,1};
+
+ % Get the AC joint rotation matrix
+ Rs = varargin{1,2};
+
+ % Get the GH joint rotation matrix
+ Rh = varargin{1,3};
+
+ % Get the HU joint rotation matrix
+ Ru = varargin{1,4};
+
+ % Get the RU joint rotation matrix
+ Rr = varargin{1,5};
+
+ % Get the BLDATA input
+ BLDATA = varargin{1,6};
+
+ % Get Initial Rotation Matrices
+ Rci = BLDATA.Initial_Matrices_L2A.Rc;
+ Rsi = BLDATA.Initial_Matrices_L2A.Rs;
+ Rhi = BLDATA.Initial_Matrices_L2A.Rh;
+ Rui = BLDATA.Initial_Matrices_L2A.Ru;
+ Rri = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Ge all the points
+ IJ = BLDATA.Initial_Points.IJ;
+ PX = BLDATA.Initial_Points.PX;
+ T8 = BLDATA.Initial_Points.T8;
+ C7 = BLDATA.Initial_Points.C7;
+ SC = BLDATA.Initial_Points.SC;
+ AC = BLDATA.Initial_Points.AC;
+ AA = BLDATA.Initial_Points.AA;
+ TS = BLDATA.Initial_Points.TS;
+ AI = BLDATA.Initial_Points.AI;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ EL = BLDATA.Initial_Points.EL;
+ EM = BLDATA.Initial_Points.EM;
+ CP = BLDATA.Initial_Points.CP;
+ US = BLDATA.Initial_Points.US;
+ RS = BLDATA.Initial_Points.RS;
+
+ % Rotate all points
+ BLDATA.Current_Points.IJ = IJ;
+ BLDATA.Current_Points.PX = PX;
+ BLDATA.Current_Points.T8 = T8;
+ BLDATA.Current_Points.C7 = C7;
+ BLDATA.Current_Points.SC = SC;
+ BLDATA.Current_Points.AC = Rc*Rci'*(AC - SC) + SC;
+ BLDATA.Current_Points.AA = Rs*Rsi'*(AA - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.TS = Rs*Rsi'*(TS - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.AI = Rs*Rsi'*(AI - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.GH = Rs*Rsi'*(GH - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.HU = Rh*Rhi'*(HU - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.EL = Rh*Rhi'*(EL - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.EM = Rh*Rhi'*(EM - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.US = Ru*Rui'*(US - HU) + BLDATA.Current_Points.HU;
+ BLDATA.Current_Points.CP = Rh*Rhi'*(CP - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.RS = Rr*Rri'*(RS - CP) + BLDATA.Current_Points.CP;
+
+ % Set the Current rotation matrices
+ BLDATA.Current_Matrices_L2A.Rc = Rc;
+ BLDATA.Current_Matrices_L2A.Rs = Rs;
+ BLDATA.Current_Matrices_L2A.Rh = Rh;
+ BLDATA.Current_Matrices_L2A.Ru = Ru;
+ BLDATA.Current_Matrices_L2A.Rr = Rr;
+
+ % Set the current wire frames
+ BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+ BLDATA.Current_WFBones.Clavicula =...
+ [BLDATA.Current_Points.SC,...
+ BLDATA.Current_Points.AC];
+ BLDATA.Current_WFBones.Scapula =...
+ [BLDATA.Current_Points.AC,...
+ BLDATA.Current_Points.AA,...
+ BLDATA.Current_Points.TS,...
+ BLDATA.Current_Points.AI,...
+ BLDATA.Current_Points.GH,...
+ BLDATA.Current_Points.AC];
+ BLDATA.Current_WFBones.Humerus =...
+ [BLDATA.Current_Points.GH,...
+ BLDATA.Current_Points.HU,...
+ BLDATA.Current_Points.EL,...
+ BLDATA.Current_Points.EM];
+ BLDATA.Current_WFBones.Ulna =...
+ [BLDATA.Current_Points.CP,...
+ BLDATA.Current_Points.HU,...
+ BLDATA.Current_Points.EM,...
+ BLDATA.Current_Points.US];
+ BLDATA.Current_WFBones.Radius =...
+ [BLDATA.Current_Points.CP,...
+ BLDATA.Current_Points.RS];
+
+ % Set the Garner and Pandy Scapular Rotation Matrix
+ Zaxis = BLDATA.Current_Points.AC - BLDATA.Current_Points.GH; Zaxis = Zaxis/norm(Zaxis);
+ Yaxis = cross(Zaxis, BLDATA.Current_Points.AC - BLDATA.Current_Points.TS); Yaxis = Yaxis/norm(Yaxis);
+ Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+ % Set the rotation matrix
+ BLDATA.Current_GnP.Rs = [Xaxis, Yaxis, Zaxis];
+
+ % Set the Output
+ Output = BLDATA;
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% LIST OF TASKS ENDS HERE!!
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+else
+ % If the wrong task is given, MATLAB throws an error
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'MAIN_TOOL_geometry_functions requires a valid task as first input.\n',...
+ 'Try the Followings : \n',...
+ 'Task 1 : Build Rotation Matrices From Euler Angles,\n',...
+ 'Task 2 : Get Euler Angles From Original Rotation Matrices,\n',...
+ 'Task 3 : Get Euler Angles From Initial Rotation Matrices,\n',...
+ 'Task 4 : Get Euler Angles From Current Rotation Matrices,\n',...
+ 'Task 5 : Rotate Points From Local To Global Frame (Initial),\n',...
+ 'Task 6 : Rotate Points From Global To Local Frame (Initial),\n',...
+ 'Task 7 : Rotate Points From Local To Global Frame (Current),\n',...
+ 'Task 8 : Rotate Points From Global To Local Frame (Current),\n',...
+ 'Task 9 : Update Initial Bony Landmark Data from Joint Rotation Matrices,\n',...
+ 'Task 10: Update Current Bony Landmark Data from Joint Rotation Matrices.'];
+
+ % Throw the Error
+ error('MainApp:GomertricTaskCheck', ErrorMsg);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/MAIN_TOOL_save_data.m b/ShoulderModel/MAIN_TOOL_save_data.m
new file mode 100755
index 0000000..e48ccb0
--- /dev/null
+++ b/ShoulderModel/MAIN_TOOL_save_data.m
@@ -0,0 +1,80 @@
+function [] = MAIN_TOOL_save_data(BLDATA, MEDATA, REDATA, MWDATA, KEDATA, DYDATA, MADATA)
+% Uicontrol callback function for saving all the data structures of the model.
+%--------------------------------------------------------------------------
+% Syntax :
+% [] = MAIN_TOOL_save_data(BLDATA, MEDATA, REDATA, MWDATA, JCDATA, KEDATA, DYDATA, MADATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function saves all the data structures to a sub-folder.
+%
+% List of Structures to save
+% BLDATA : Bony Landmark Data
+% MEDATA : 3-D Bone Meshing Data
+% REDATA : Ribcage Ellipsoid Data
+% MWDATA : Muscle Wrapping Data
+% JCDATA : Joint Sinus Cone Data
+% KEDATA : Kinematic Motion Data
+% DYDATA : Dynamic Model Data
+% MADATA : Moment Arm Data
+%--------------------------------------------------------------------------
+
+% Differentiate between mac & pc system
+if isunix % SYSTEM IS UNIX SYSTEM (MAC OS X INCLUDED)
+ % Get the Current Folder
+ CurrentFolder = pwd;
+
+ % Save Bony Landmark Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/BLDATA.mat'], 'BLDATA');
+
+ % Save Meshing Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/MEDATA.mat'], 'MEDATA');
+
+ % Save Ellipsoid Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/REDATA.mat'], 'REDATA');
+
+ % Save Muscle Wrapping Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/MWDATA.mat'], 'MWDATA');
+
+ % Save Joint Sinus Cone Data
+ %save([CurrentFolder, '/Data_Structures_and_Documentation/JCDATA.mat'], 'JCDATA');
+
+ % Save Kinematic Motion Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/KEDATA.mat'], 'KEDATA');
+
+ % Save Dynamic Model Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/DYDATA.mat'], 'DYDATA');
+
+ % Save Moment-Arm Data
+ save([CurrentFolder, '/Data_Structures_and_Documentation/MADATA.mat'], 'MADATA');
+
+else % SYSTEM IS NOT UNIX (PC)
+ % Get the Current Folder
+ CurrentFolder = pwd;
+
+ % Save Bony Landmark Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\BLDATA.mat'], 'BLDATA');
+
+ % Save Meshing Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\MEDATA.mat'], 'MEDATA');
+
+ % Save Ellipsoid Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\REDATA.mat'], 'REDATA');
+
+ % Save Muscle Wrapping Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\MWDATA.mat'], 'MWDATA');
+
+ % Save Joint Sinus Cone Data
+ %save([CurrentFolder, '\Data_Structures_and_Documentation\JCDATA.mat'], 'JCDATA');
+
+ % Save Kinematic Motion Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\KEDATA.mat'], 'KEDATA');
+
+ % Save Dynamic Model Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\DYDATA.mat'], 'DYDATA');
+
+ % Save Moment-Arm Data
+ save([CurrentFolder, '\Data_Structures_and_Documentation\MADATA.mat'], 'MADATA');
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/MAIN_TOOL_save_visualisation.m b/ShoulderModel/MAIN_TOOL_save_visualisation.m
new file mode 100755
index 0000000..940b687
--- /dev/null
+++ b/ShoulderModel/MAIN_TOOL_save_visualisation.m
@@ -0,0 +1,71 @@
+function [] = MAIN_TOOL_save_visualisation(Handle, ToolId)
+% Function for saving the visualisations to an EPS file.
+%--------------------------------------------------------------------------
+% Syntax :
+% [] = MAIN_TOOL_save_visualisation(Handle, ToolId)
+%--------------------------------------------------------------------------
+%
+%
+% Function Description :
+% This function saves the current visualisations of any of the tools. The
+% inputs are the current visualisation figure handle and the identification
+% number of the tool calling the function.
+%
+% List of Visualisation Identification Numbers :
+% Main Tool Id : 1
+% Initial Configuration Tool Id : 2
+% Muscle Tool Id : 3
+% Joint Sinus Cone Tool Id : 4
+% Ribcage Ellipsoid Tool Id : 5
+% Kinematics Tool Id : 6
+% Motion Check Id : 7
+% Moment Arm Check Id : 8
+% Muslce Force Id : 9
+%--------------------------------------------------------------------------
+
+% List of file names depening on the tool which is calling the function
+List_Of_File_Names = {...
+ 'Model_Visualisation',...
+ 'Intial_Configuration_Visualisation',...
+ 'Muscle_Visualisation',...
+ 'Joint_Sinus_Cone_Visualisation',...
+ 'Ellipsoid_Visualisation',...
+ 'Kinematics_Visualisation',...
+ 'Motion_Check',...
+ 'Moment_Arms',...
+ 'Muscle_Forces'};
+
+% Inputdlg Options
+options.Resize = 'on';
+options.WindowStyle ='normal';
+options.Interpreter ='tex';
+
+% Create the User Input Dialog Box
+User_Answer = inputdlg(...
+ {'Enter File Name:','Enter Resolution (150dpi is default):'},...
+ 'Save Visualisation',...
+ 1,...
+ {List_Of_File_Names{1,ToolId},'150'},...
+ options);
+
+% Construct the Path where the file will be stored
+Current_Folder = pwd;
+PrintPath = [];
+
+caxes = get(Handle, 'currentaxes');
+axis off;
+% Differentiat UNIX and NON-UNIX
+if isunix % SYSTEM IS UNIX SYSTEM (MAC OS X INCLUDED)
+ PrintPath = [Current_Folder, '/Visualisation_Prints/', User_Answer{1,1}];
+else % SYSTEM IS NOT UNIX (PC)
+ PrintPath = [Current_Folder, '\Visualisation_Prints\', User_Answer{1,1}];
+end
+
+% Save the visualisation
+print(Handle,...
+ PrintPath,... % File Name
+ '-depsc2',... % Save as Level 2 Color EPS (Vector Graphics)
+ '-noui',... % The User Controls should not be printed
+ '-opengl',... % Use the opengl graphics engine
+ ['-r', User_Answer{2,1}]); % Resolution
+return;
\ No newline at end of file
diff --git a/ShoulderModel/MAIN_TOOL_script_generator.m b/ShoulderModel/MAIN_TOOL_script_generator.m
new file mode 100755
index 0000000..2af462c
--- /dev/null
+++ b/ShoulderModel/MAIN_TOOL_script_generator.m
@@ -0,0 +1,150 @@
+function CBScript = MAIN_TOOL_script_generator(task)
+%{
+ Uicontrol callback script generator for the main GUI.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = MAIN_TOOL_script_generator(task)
+--------------------------------------------------------------------------
+
+Function Description :
+This function generates scripts for the main GUI uicontrols. MATLAB's
+uicontrols (pushbuttons, edit boxes, etc...) allow for a script to be
+executed when the user interacts with them. The script is called
+callback. The scripts are generated as text arrays. The task input
+variable inidicates which script to return. No other inputs are
+necessary.
+The list of possible tasks is the following :
+
+ 1) Save & Close
+ 2) Save Visualisation
+ 3) Save All Data Structures
+ 4) Update Visualisation
+ 5) Open Subject Specific Tool
+ 6) Open Initial Configuration Tool
+ 7) Open Muscle Tool
+ 8) Open Joint Sinus Cone Tool
+ 9) Open Ribcage Ellipsoid Tool
+ 10) Open Kinematics Tool
+ 11) Open Check Muscle Moment Arms Tool
+ 12) Open Muscle Force Estimation Tool
+ 13) Help
+
+---------------------------------------------------------------------------
+%}
+
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the GUI & Save All related data
+%--------------------------------------------------------------------------
+if isequal(task, 'Save & Close')
+ CBScript = [...
+ 'MAIN_TOOL_save_data(BLDATA, MEDATA, REDATA, MWDATA, KEDATA, DYDATA, MADATA);',...
+ 'close all; clear all; clc;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Save the Visualisation
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Visualisation')
+ CBScript = 'MAIN_TOOL_save_visualisation(MAINHandle, 1);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Save the Current Data Strutures
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save All Data Structures')
+ CBScript = [...
+ 'MAIN_TOOL_save_data',...
+ '(BLDATA, MEDATA, REDATA, MWDATA, KEDATA, DYDATA, MADATA);'];
+
+%--------------------------------------------------------------------------
+% Task 5 : Subject Specific Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Subject Specific Tool')
+ CBScript = 'SUBJECT_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 6 : Update the Visualisation
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Visualisation')
+ CBScript = 'PlotHandles = MAIN_TOOL_update_visualisation(MAINGUIHandle, PlotHandles, BLDATA, MEDATA, MWDATA, REDATA);';
+
+%--------------------------------------------------------------------------
+% Task 5 : Open The Initial Configuration Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Initial Configuration Tool')
+ CBScript = 'INITIAL_CONFIGURATION_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 7 : Open The Muscle Wrapping Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Muscle Tool')
+ CBScript = 'MUSCLE_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 8 : Open The Joint Sinus Cone Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Joint Tool')
+ CBScript = 'JOINT_CONE_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 9 : Open The Ellipsoid Fitting Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Ellipsoid Tool')
+ CBScript = 'ELLIPSOID_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 10 : Open The Kinematics Tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Open Kinematics Tool')
+ CBScript = 'KINEMATICS_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 11 : Open the moment arms verification tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Check Moment Arms')
+ CBScript = 'MOMENT_ARM_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 12 : Open the muscle force estimation tool
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Estimate Forces')
+ CBScript = 'ESTIMATION_TOOL_main_file;';
+
+%--------------------------------------------------------------------------
+% Task 13 : Help
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------------ LBO - EPFL UPPER EXTREMITY MODEL GUI ----------------------\n'', '...
+ ' ''This is the main upper extremity model interface GUI.\n'', ',...
+ ' ''From here you can run the different tools and change what you wisht to be visualised.\n'', ',...
+ ' ''The tool boxes are created as new GUIs.'']);',...
+ 'disp(ans);'];
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'MAIN_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Save & Close,\n',...
+ '2) Save Visualisation,\n',...
+ '3) Save the Data,\n',...
+ '4) Update Visualisation,\n',...
+ '5) Open Subject Specific Toolbox,\n',...
+ '6) Open Initial Configuration Tool,\n',...
+ '7) Open Muscle Tool,\n',...
+ '8) Open Joint Tool,\n',...
+ '9) Open Ellipsoid Tool,\n',...
+ '10) Open Kinematics Tool,\n',...
+ '11) Check Moment Arms,\n',...
+ '12) Estimate Forces,\n',...
+ '13) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/MAIN_TOOL_update_visualisation.m b/ShoulderModel/MAIN_TOOL_update_visualisation.m
new file mode 100755
index 0000000..eedcf73
--- /dev/null
+++ b/ShoulderModel/MAIN_TOOL_update_visualisation.m
@@ -0,0 +1,136 @@
+function [PlotHandles, MWDATA] = MAIN_TOOL_update_visualisation(MAINGUIHandle, PHandles, BLDATA, MEDATA, MWDATAin, REDATA)
+
+%{
+Function for updating the main GUI's visualisation of the model
+--------------------------------------------------------------------------
+Syntax :
+[PlotHandles, MWDATA] = MAIN_TOOL_update_visualisation(MAINGUIHandle, PHandles, BLDATA, MEDATA, MWDATA, REDATA, JCDATA)
+--------------------------------------------------------------------------
+
+File Description :
+This function updates the current visualisation of the main GUI.
+
+Function Inputs :
+1) MAINGUIHandle, contains the uicontrol information for deciding what to
+plot and what not to plot.
+
+2) PHandles, contains in a single structure all the plot handles. This
+input is also an output.
+
+3) BLDATA, MEDATA, MWDATAin, REDATA, JCDATA, all the data structures
+containing the anatomical data and geometric data.
+
+Function Outputs :
+1) PlotHandles, contains the updated handles of all the plots
+
+2) MWDATA, contains the updated muscle wrapping data, if the object
+radius adjustment factor was changed.
+
+%}
+% --------------------------------------------------------------------------
+
+% Initialise the Outputs
+PlotHandles = PHandles;
+MWDATA = MWDATAin;
+
+% Get the Visualisation Options. They are all stored in the value option of
+% the main GUI radiobutton handles.
+ViewClavicula = get(MAINGUIHandle.VisClaviculaOption, 'value');
+ViewScapula = get(MAINGUIHandle.VisScapulaOption, 'value');
+ViewHumerus = get(MAINGUIHandle.VisHumerusOption, 'value');
+ViewUlna = get(MAINGUIHandle.VisUlnaOption, 'value');
+ViewRadius = get(MAINGUIHandle.VisRadiusOption, 'value');
+ViewMuscles = get(MAINGUIHandle.VisMuscleOption, 'value');
+ViewMusclesO = get(MAINGUIHandle.VisMuscleOOption, 'value');
+ViewMusclesI = get(MAINGUIHandle.VisMuscleIOption, 'value');
+%ViewJoints = get(MAINGUIHandle.VisJointSinusConeOption, 'value');
+ViewEllipse = get(MAINGUIHandle.VisEllipsoidOption, 'value');
+
+%--------------------------------------------------------------------------
+% Update The Thorax Visualisation
+%--------------------------------------------------------------------------
+% Update meshing visualisation
+PlotHandles.MeshHandle(1) =...
+ VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(1), MEDATA, 0, BLDATA);
+
+% Update the wire frame visualisation
+PlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(1), 0, BLDATA);
+
+%--------------------------------------------------------------------------
+% Update The Thorax, Clavicula, Scapula, Humerus, Ulna, Radius Visualisation
+%--------------------------------------------------------------------------
+FrameIdList = [0,1,2,3,4,5];
+ViewOnList = [1, ViewClavicula, ViewScapula, ViewHumerus, ViewUlna, ViewRadius];
+for BoneId = 1:6
+ if ViewOnList(1,BoneId)
+ % Update meshing visualisation
+ PlotHandles.MeshHandle(BoneId) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(BoneId), MEDATA, FrameIdList(1,BoneId), BLDATA);
+
+ % Update the wire frame visualisation
+ PlotHandles.WireFrameHandle(BoneId) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(BoneId), FrameIdList(1,BoneId), BLDATA);
+ else
+ set(PlotHandles.MeshHandle(BoneId), 'vertices', []);
+ set(PlotHandles.WireFrameHandle(BoneId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+end
+
+%--------------------------------------------------------------------------
+% Muscle Visualisation
+%--------------------------------------------------------------------------
+for MuscleId = 1:42
+ % Update the origin visualisation
+ if ViewMusclesO
+ PlotHandles.MuscleOriginHandle(MuscleId) =...
+ VISUALISATION_view_muscle_origins(PlotHandles.MuscleOriginHandle(MuscleId), MWDATA, BLDATA, MuscleId);
+ else
+ set(PlotHandles.MuscleOriginHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+
+ % Update the insertion visualisation
+ if ViewMusclesI
+ PlotHandles.MuscleInsertionHandle(MuscleId) =...
+ VISUALISATION_view_muscle_insertions(PlotHandles.MuscleInsertionHandle(MuscleId), MWDATA, BLDATA, MuscleId);
+ else
+ set(PlotHandles.MuscleInsertionHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+
+ % Update the muscle segment visualisations
+ if ViewMuscles
+ % Run through all the segments
+ for SegmentId = 1:20
+ if SegmentId < MWDATA{MuscleId, 1}.MSCInfo.NbSegments+1;
+ [PlotHandles.MuscleSegments(MuscleId, SegmentId), MWDATA] =...
+ VISUALISATION_view_muscle_segement(PlotHandles.MuscleSegments(MuscleId, SegmentId), MWDATA, BLDATA, MuscleId, SegmentId);
+ else
+ set(PlotHandles.MuscleSegments(MuscleId, SegmentId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+ end
+ else
+ % Run through all the segments
+ for SegmentId = 1:20
+ set(PlotHandles.MuscleSegments(MuscleId, SegmentId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+ end
+end
+%{
+%--------------------------------------------------------------------------
+% Joint Sinus Cone Visualisation
+%--------------------------------------------------------------------------
+for ConeId = 1:3
+ if ViewJoints
+ PlotHandles.JointSinusCone(1,ConeId) = ...
+ VISUALISATION_view_joint_sinus_cones(PlotHandles.JointSinusCone(1,ConeId), JCDATA, BLDATA, ConeId);
+ else
+ set(PlotHandles.JointSinusCone(1,ConeId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+end
+%}
+%--------------------------------------------------------------------------
+% Ribcage Ellipsoid Visualisation
+%--------------------------------------------------------------------------
+if ViewEllipse
+ PlotHandles.Ellispoid = VISUALISATION_view_ribcage_ellipsoid(PlotHandles.Ellispoid, REDATA);
+else
+ set(PlotHandles.Ellispoid, 'xdata', [], 'ydata', [], 'zdata', []);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/MASTHEAD_script.m b/ShoulderModel/MASTHEAD_script.m
new file mode 100755
index 0000000..f055404
--- /dev/null
+++ b/ShoulderModel/MASTHEAD_script.m
@@ -0,0 +1,96 @@
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% MASTHEAD SCRIPT BEGINS HERE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Creat the Masthead Figure
+MASThead = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'menubar', 'none',...
+ 'name', 'EPFL - LBO Upper Extremity Model (Version 1.00)');
+
+% Create the List of Axes
+MainAxis = axes('units', 'normalized', 'position', [0.3, 0.00, 0.70, 0.90]);
+EPFLAxis = axes('units', 'normalized', 'position', [0.0, 0.85, 0.30, 0.11]);
+%LAAxis = axes('units', 'normalized', 'position', [0.0, 0.70, 0.30, 0.10]);
+LBOAxis = axes('units', 'normalized', 'position', [0.0, 0.80, 0.60, 0.05]);
+CHUVAxis = axes('units', 'normalized', 'position', [0.0, 0.70, 0.22, 0.08]);
+
+% List of Text To Print
+TextList = {'Created By : Ehsan Sarshari (LA/LBO- EPFL), 2014-present',...
+ 'David Ingram (LA - EPFL), 2009-2014',...
+ 'Contributions From :',...
+ 'Marion Rothlisberger (LBO - EPFL)',...
+ 'Christoph Engelhardt (LBO - EPFL)',...
+ 'Yasmine Boulanaache (LBO - EPFL)',...
+ '',...
+ 'Prof. Alain Farron (CHUV)',...
+ 'Prof. Dominique Pioletti (LBO - EPFL)',...
+ 'Dr. Alexandre Terrier (LBO - EPFL)',...
+ 'Dr. Philippe Mullhaupt (LA - EPFL)',...
+ 'Illustration Zygote Body (www.zygotebody.com)'};
+
+% List of Positons
+PositionList = [[0.01, 0.36, 0.45, 0.03, 14];
+ [0.1, 0.34, 0.4, 0.03, 14];
+ [0.01, 0.31, 0.3, 0.03, 14];
+ [0.1, 0.29, 0.3, 0.03, 12];
+ [0.1, 0.27, 0.3, 0.03, 12];
+ [0.1, 0.25, 0.3, 0.03, 12];
+ [0.1, 0.23, 0.3, 0.03, 12];
+ [0.1, 0.21, 0.3, 0.03, 12];
+ [0.1, 0.19, 0.3, 0.03, 12];
+ [0.1, 0.17, 0.3, 0.03, 12];
+ [0.1, 0.15, 0.3, 0.03, 12];
+ [0.54, 0.00, 0.5, 0.02, 10]];
+
+% Create the text in the masthead figure
+TextHandle = zeros(8,1);
+for i = 1:12
+ TextHandle(i,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', PositionList(i,1:4),...
+ 'style', 'text',...
+ 'string', TextList{1,i},...
+ 'fontsize', PositionList(i,5),...
+ 'fontname', 'Arial',...
+ 'HorizontalAlignment','left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+end
+
+% Get the Current Directoy
+CurrentDirectory = pwd;
+
+% Create the Image Storage Variables
+EPFLLogo = []; LALogo = []; LBOLogo = []; MAINPic = []; CHUVLogo = [];
+
+% The Script must work on both unix and non unix systems
+if isunix
+ EPFLLogo = imread([CurrentDirectory, '/LOGOS/EPFLLogo.png'], 'png');
+ %LALogo = imread([CurrentDirectory, '/LOGOS/LALogo.jpg'], 'jpg');
+ LBOLogo = imread([CurrentDirectory, '/LOGOS/LBOLogo.png'], 'png');
+ MAINPic = imread([CurrentDirectory, '/LOGOS/MAINPix.png'], 'png');
+ CHUVLogo = imread([CurrentDirectory, '/LOGOS/CHUVLogo.png'], 'png');
+else
+ EPFLLogo = imread([CurrentDirectory, '\LOGOS\EPFLLogo.png'], 'png');
+ %LALogo = imread([CurrentDirectory, '\LOGOS\LALogo.jpg'], 'jpg');
+ LBOLogo = imread([CurrentDirectory, '\LOGOS\LBOLogo.png'], 'png');
+ MAINPic = imread([CurrentDirectory, '\LOGOS\MAINPix.png'], 'png');
+ CHUVLogo = imread([CurrentDirectory, '\LOGOS\CHUVLogo.png'], 'png');
+end
+
+% Draw all the images
+set(MASThead, 'CurrentAxes', MainAxis);
+LogoHandle(1) = image(MAINPic); box off; axis off;
+set(MASThead, 'CurrentAxes', EPFLAxis);
+LogoHandle(2) = image(EPFLLogo); box off; axis off;
+%set(MASThead, 'CurrentAxes', LAAxis);
+%LogoHandle(3) = image(LALogo); box off; axis off;
+set(MASThead, 'CurrentAxes', LBOAxis);
+LogoHandle(4) = image(LBOLogo); box off; axis off;
+set(MASThead, 'CurrentAxes', CHUVAxis);
+LogoHandle(4) = image(CHUVLogo); box off; axis off;
+
diff --git a/ShoulderModel/MODEL_MAIN_FILE.m b/ShoulderModel/MODEL_MAIN_FILE.m
new file mode 100755
index 0000000..757a5df
--- /dev/null
+++ b/ShoulderModel/MODEL_MAIN_FILE.m
@@ -0,0 +1,575 @@
+%{
+--------------------------------------------------------------------------
+GUI FOR RUNNING THE MODEL
+--------------------------------------------------------------------------
+
+File Description:
+This is the main file for running the EPFL shoulder model.
+creates the GUI and loads all the raw anatomical data. The data contains
+the following :
+1) BLDATA : Bony landmark data
+2) MEDATA : Bone Meshing data for plotting purposes
+3) MWDATA : Muscle Origin/Insertion & Wrapping data
+4) REDATA : Ribcage Ellipsoid data
+5) JCDATA : Joint sinus cone data (which Ehsan has deactivated)
+6) KEDATA : Kinematic Motion data
+7) DYDATA : Dynamics data. Contains all static parameters
+
+Moment arms, Muscle forces, and Joint reaction forces are not initially
+available. They are computed on demand. They will be stored in the
+following structures:
+8) MADATA : Muscle Moment Arms
+9) EFDATA : Estimated Muscle Forces
+10) JFDATA : Joint Reaction Forces
+
+--------------------------------------------------------------------------
+
+File Structure :
+This file creates the primary GUI. On the main GUI only visulisation
+options can be changed. Access to all the different parts of the model is
+done by pushbuttons which open other sub-GUI's. The pushbuttons are
+created using MATLAB's uicontrol handle structures. When a button is
+pushed, the callback script is executed. These scripts are generated by
+the function MAIN_TOOL_script_generator.m.
+
+Files associated to sub-GUI's are designated with the word 'TOOL' in
+their title. The main file of each sub-GUI is defined by
+
+ ..._TOOL_main_file.m
+
+Each tool has certain functions which are unique to that tool. Such files
+are designated by
+
+ ..._TOOL_function_name.m
+
+All the files for each tool are located in a sub-folder. Access to these
+folders is granted when the main file is run. This is done straight after
+the masthead script.
+
+--------------------------------------------------------------------------
+
+Contents of the Interactive GUI structure :
+ PushButton Section
+ MAINGUIHandle.Close_Button
+ MAINGUIHandle.Save_Visualisation_Button
+ MAINGUIHandle.Save_Data_Button
+
+ Visualisation Update Section
+ MAINGUIHandle.VisFrame
+ MAINGUIHandle.VisTitle
+ MAINGUIHandle.VisMuscleOption
+ MAINGUIHandle.VisJointSinusConeOption
+ MAINGUIHandle.VisEllipsoidOption
+ MAINGUIHandle.Update_Visualisation_Button
+
+ ToolBox Push Buttons
+ MAINGUIHandle.ToolTitle
+ MAINGUIHandle.InitialPosition_Tool_Button
+ MAINGUIHandle.Muscle_Tool_Button
+ MAINGUIHandle.Sinus_Cone_Tool_Button
+ MAINGUIHandle.Ellipsoid_Tool_Button
+ MAINGUIHandle.Kinematics_Tool_Button
+ MAINGUIHandle.Check_Motion_Button
+ MAINGUIHandle.Check_MA_Button
+ MAINGUIHandle.Estimate_Forces_Button
+
+--------------------------------------------------------------------------
+
+The graphical hierarchy is :
+ MAINHandle
+ -> MAINVisualisationAxes
+ -> PlotHandles
+
+--------------------------------------------------------------------------
+WARNING : THIS FILE IS LOCATED IN THE PRIMARY FOLDER.
+IF YOU SWITCH LOCATIONS (FOLDER) WHILE THE GUI IS RUNNING AND DO NOT
+SWITCH BACK TO THE PRIMARY FOLDER, MATLAB WILL THROW AN ERROR. IF THIS
+HAPPENS, IT IS NOT NECESSARY TO RESTART. YOU ONLY NEED TO SWITCH BACK TO
+THE PRIMARY FOLDER.
+--------------------------------------------------------------------------
+%}
+
+% Clean Workspace
+clc; clear all; %close all;
+
+% Run a MASTHEAD script. (Set to 0 to turn off)
+MastHeadOn = 1;
+if MastHeadOn
+ MASTHEAD_script;
+end
+
+%--------------------------------------------------------------------------
+% GRANT ACCESS TO ALL SUBFOLDERS
+%--------------------------------------------------------------------------
+CurrentPath = pwd;
+SubFolderList = {'INITIALISATION_Dataset',...
+ 'TOOLBOX_Initial_Configuration',...
+ 'TOOLBOX_Ribcage_Ellipsoid',...
+ 'TOOLBOX_Subject_Specific',...
+ 'TOOLBOX_Muscle_Geometry',...
+ 'TOOLBOX_Kinematics',...
+ 'TOOLBOX_Moment_Arms',...
+ 'TOOLBOX_Force_Estimation',...
+ 'Visualisation_Functions',...
+ 'Visualisation_Original_Meshings',...
+ 'EMG_based_muscle_force'};
+
+for i = 1:size(SubFolderList,2)
+ % Differentiate between UNIX and non-UNIX systems
+ if isunix
+ addpath([CurrentPath, '/', SubFolderList{1,i}]);
+ else
+ addpath([CurrentPath, '\', SubFolderList{1,i}]);
+ end
+end
+
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE & PUSHBUTTON FOR CLOSING GUI.
+%--------------------------------------------------------------------------
+MAINHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0, 0, 0.5, 1],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model MAIN GUI.');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% LIST OF TOOLBOX PUSHBUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Frame
+MAINGUIHandle.PBFrame = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.64, 0.3, 0.32],...
+ 'style', 'frame',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Title
+MAINGUIHandle.ToolTitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.95, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'List of Toolboxes',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Push Button for opening the Subject Specific Toolbox
+MAINGUIHandle.Subject_Specific_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.90, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'max', 2,...
+ 'string', '<html> <b>- SUBJECT SPECIFIC TOOL -----------------------------</b><br><p style="font-size: 90%;"> <i> Tool for adapting the generic model to a specific subject</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Open Subject Specific Tool'));
+
+% Push Button for opening the muscle wrapping toolbox
+MAINGUIHandle.Muscle_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.85, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- MUSCLE WRAPPING TOOL ---------------------------------</b><br><p style="font-size: 90%;"> <i> Tool for defining the muscle segement structure</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Open Muscle Tool'));
+
+% Push Button for opening the Initial Position toolbox
+MAINGUIHandle.InitialPosition_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.80, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'max', 2,...
+ 'string', '<html> <b>- JOINT INITIALIZATION TOOL -----------------------------</b><br><p style="font-size: 90%;"> <i> Tool for setting the initial configuration of the joints</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Open Initial Configuration Tool'));
+
+%{
+Push Button for opening the joint sinus cone toolbox
+MAINGUIHandle.Sinus_Cone_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.8, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- JOINT SINUS CONE TOOL ----------------------------------</b><br><p style="font-size: 90%;"> <i> Tool for setting the configuration of the joint sinus cones</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Open Joint Tool'));
+%}
+%%%%%%%%%%%%%%%% having discussed with Alex, I moved this part to the
+%%%%%%%%%%%%%%%% subject-specific window
+% % Push Button for opening the ellipsoid toolbox
+% MAINGUIHandle.Ellipsoid_Tool_Button = uicontrol(...
+% 'units', 'normalized',...
+% 'position', [0.7, 0.80, 0.3, 0.05],...
+% 'style', 'pushbutton',...
+% 'string', '<html> <b>- RIBCAGE ELLIPSOID TOOL --------------------------------</b><br><p style="font-size: 90%;"> <i> Tool for setting the ribcage ellipsoid</i></p>',...
+% 'fontsize', 14,...
+% 'callback', MAIN_TOOL_script_generator('Open Ellipsoid Tool'));
+
+
+% Push Button for opening the kinematics toolbox
+MAINGUIHandle.Kinematics_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.75, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- KINEMATICS TOOL -------------------------------------------</b><br><p style="font-size: 90%;"> <i> Tool for designing the kinematics</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Open Kinematics Tool'));
+
+% Push Button for checking the moment arms
+MAINGUIHandle.Check_MA_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.70, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CHECK INDIVIDUAL MOMENT ARMS ---------------------</b><br><p style="font-size: 90%;"> <i>Tool for checking that the moment arms are continuous</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Check Moment Arms'));
+
+% Push Button for force estimation
+MAINGUIHandle.Estimate_Forces_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.65, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- ESTIMATE FORCES ------------------------------------------</b><br><p style="font-size: 90%;"> <i>Tool for estimating the muscle forces</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Estimate Forces'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% VISUALISATION INTERFACE (RADIOBUTTONS)
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Frame
+MAINGUIHandle.VisFrame = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.19, 0.3, 0.35],...
+ 'style', 'frame',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Title
+MAINGUIHandle.VisTitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.79, 0.52, 0.13, 0.03],...
+ 'style', 'text',...
+ 'string', 'Visualization Options',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Clavicula Visibility Option
+MAINGUIHandle.VisClaviculaOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.5, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Clavicula',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Scapula Visibility Option
+MAINGUIHandle.VisScapulaOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.47, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Scapula',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Humerus Visibility Option
+MAINGUIHandle.VisHumerusOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.44, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Humerus',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Ulna Visibility Option
+MAINGUIHandle.VisUlnaOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.41, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Ulna',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Radius Visibility Option
+MAINGUIHandle.VisRadiusOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.38, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Radius',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Muscle Visibility Option
+MAINGUIHandle.VisMuscleOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.35, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Muscles',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Muscle Origins Visibility Option
+MAINGUIHandle.VisMuscleOOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.32, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Muscle Origins',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Muscle Insertions Visibility Option
+MAINGUIHandle.VisMuscleIOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.29, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Muscle Insertions',...
+ 'Value', 1,...5
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+%{
+Joint Sinus Cone Visibility Option
+MAINGUIHandle.VisJointSinusConeOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.24, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Joint Sinus Cones',...
+ 'Value', 0,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+%}
+% Ribcage Ellipsoid Visibility Option
+MAINGUIHandle.VisEllipsoidOption = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.72, 0.26, 0.2, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Ribcage Ellipsoid',...
+ 'Value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Push Button for Updating the Visualisation
+MAINGUIHandle.Update_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.20, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- UPDATE VISUALIZATION ---------------------------------------</b><br><p style="font-size: 90%;"> <i> Updates the visualization</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Update Visualisation'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% SAVE DATA & VISUALISATION PUSHBUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Push Button for Saving the Visualisation
+MAINGUIHandle.Save_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.1, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- SAVE VISUALISATION ----------------------------------------</b><br><p style="font-size: 90%;"> <i> Saves the visualization to an EPS file</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Save Visualisation'));
+
+% Push Button for Saving the Visualisation
+MAINGUIHandle.Save_Data_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.05, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- SAVE DATA ---------------------------------------------------------</b><br><p style="font-size: 90%;"> <i> Saves the current data structures</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Save All Data Structures'));
+
+% Push Button for Closing the GUI
+MAINGUIHandle.Close_GUI_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.0, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- CLOSE GUI ---------------------------------------------------------</b><br><p style="font-size: 90%;"><i>Closes and saves the current data structures</i></p>',...
+ 'fontsize', 14,...
+ 'callback', MAIN_TOOL_script_generator('Save & Close'));
+
+% Create a Help UI Menu
+MAINGUIHandle.Help(1,1) = uimenu(MAINHandle,...
+ 'label', 'MAIN GUI HELP');
+% Create a Help UI Menu
+MAINGUIHandle.Help(2,1) = uimenu(MAINGUIHandle.Help(1,1),...
+ 'label', 'About?',...
+ 'callback', MAIN_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION SCRIPT: BUILD THE INITIAL DATA STRUCTURES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Display a message to inform the user that something is happening
+disp('Building the model data, please wait ...');
+
+SSDATA = [];
+% Create Bony Landmark Data
+BLDATA = MAIN_INITIALISATION_build_data_bony_landmark();
+
+% Create Bony Meshing Data
+MEDATA = MAIN_INITIALISATION_build_data_3D_meshing();
+
+% Create Ribcage Ellipsoid Data (ATTENTION : DATA HAS NOT BEEN OPTIMISED!!)
+REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA);
+
+% Create Muscle Wrapping Data
+MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA);
+%MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping_new(BLDATA);
+%MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping_old(BLDATA);
+
+% Create Joint Sinus Cone Data
+%JCDATA = MAIN_INITIALISATION_build_data_joint_sinus_cone();
+
+% Create the Kinematics Data
+KEDATA = MAIN_INITIALISATION_build_data_kinematics(REDATA, BLDATA);
+
+% Creat the Dynamics Data (This function takes time, builds and saves
+% symbolic equations)
+DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA);
+
+% Display a message to inform the user that the model is ready to be used
+disp('The model has been constructed, ...');
+
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain an Nx15 matrix
+for MuscleId = 1:42
+ MADATA{MuscleId, 1}.MomentArms = cell(1,20);
+ MADATA{MuscleId, 1}.MomentArmsNum = cell(1,20);
+ MADATA{MuscleId, 1}.FDirection = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane = cell(1,20);
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.ScapularPlane {1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+% Initialise the EFDATA structure
+% Initialise the output
+EFDATA = cell(44,1); % we have 42 muscles plus two consraint forces at TS and AI
+JRDATA = zeros(size(KEDATA.Joint_Angle_Evolution,2),7); % Contains vector and intensity
+
+% Each element in the cell will contain a 9 x N matrix
+for MuscleId = 1:44
+ EFDATA{MuscleId, 1}.MomentArms = cell(1,20);
+ for SegmentId = 1:20
+ EFDATA{MuscleId, 1}.Forces(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ EFDATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),9);
+ end
+end
+
+% Clear the Masthead data if Masthead is turned on
+if MastHeadOn
+ clear MainAxis EPFLAxis LBOAxis CHUVAxis; % LAAxis
+ clear TextList PositionList TextHandle;
+ clear EPFLLogo LBOLogo MAINPic CHUVLogo; % LALogo
+ clear CurrentDirectory LogoHandle;
+ set(0, 'currentfigure', MASThead);
+ close gcf;
+else
+end
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION OF THE VISUALISATION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the visualisation
+MAINVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.05, 0.6, 0.9]);
+
+
+% Set the current axis (this is not necessary but ensures MATLAB is doing
+% the right thing)
+set(MAINHandle, 'currentaxes', MAINVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+PlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+PlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+PlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+PlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+PlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+PlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+PlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% Create the 3-D Wire Frame Visualisations
+PlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+PlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+PlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+PlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+PlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+PlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+% Create the 3-D Muscle elements
+for MuscleId = 1:42
+ % Origin & Insertion
+ PlotHandles.MuscleOriginHandle(MuscleId) = VISUALISATION_view_muscle_origins([], MWDATA, BLDATA, MuscleId);
+ PlotHandles.MuscleInsertionHandle(MuscleId) = VISUALISATION_view_muscle_insertions([], MWDATA, BLDATA, MuscleId);
+
+ % Muscle Segements
+ for SegmentId = 1:20
+ % Only one segment per muscle to start.
+ if SegmentId > 1
+ PlotHandles.MuscleSegments(MuscleId, SegmentId) = plot3(0, 0, 0,...
+ 'color', 'red', 'linewidth', 2, 'marker', 'o', 'markerfacecolor', 'red', 'markersize', 6);
+ else
+ PlotHandles.MuscleSegments(MuscleId, SegmentId) = VISUALISATION_view_muscle_segement([], MWDATA, BLDATA, MuscleId, SegmentId);
+ end
+ end
+end
+
+% Initialise the Joint Sinus Cone Visualisations
+%PlotHandles.JointSinusCone(1,1) = surf(zeros(2,2), zeros(2,2), zeros(2,2));
+%PlotHandles.JointSinusCone(1,2) = surf(zeros(2,2), zeros(2,2), zeros(2,2));
+%PlotHandles.JointSinusCone(1,3) = surf(zeros(2,2), zeros(2,2), zeros(2,2));
+
+% Initialise the Ribcage Ellipsoid Visualisation
+PlotHandles.Ellispoid = surf(zeros(2,2), zeros(2,2), zeros(2,2));
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+light('Position',[ 1, 0, 0],'Style','infinite');
+light('Position',[ 0, 0, -10],'Style','local');
+light('Position',[10, -50, 0],'Style','infinite');
+colormap copper; % Give the bone meshings a bone color.
+box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+material dull; % Define the bone meshing material. It removes the shiny effect.
+axis equal; % Correct the apsect ratio.
+zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+view([135, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
+
diff --git a/ShoulderModel/PostProcessing/EFDATA_CSA25.mat b/ShoulderModel/PostProcessing/EFDATA_CSA25.mat
new file mode 100755
index 0000000..726e711
Binary files /dev/null and b/ShoulderModel/PostProcessing/EFDATA_CSA25.mat differ
diff --git a/ShoulderModel/PostProcessing/EFDATA_CSA33.mat b/ShoulderModel/PostProcessing/EFDATA_CSA33.mat
new file mode 100755
index 0000000..77f47cc
Binary files /dev/null and b/ShoulderModel/PostProcessing/EFDATA_CSA33.mat differ
diff --git a/ShoulderModel/PostProcessing/EFDATA_CSA41.mat b/ShoulderModel/PostProcessing/EFDATA_CSA41.mat
new file mode 100755
index 0000000..330ecc4
Binary files /dev/null and b/ShoulderModel/PostProcessing/EFDATA_CSA41.mat differ
diff --git a/ShoulderModel/PostProcessing/JRDATA_CSA25.mat b/ShoulderModel/PostProcessing/JRDATA_CSA25.mat
new file mode 100755
index 0000000..1340e6b
Binary files /dev/null and b/ShoulderModel/PostProcessing/JRDATA_CSA25.mat differ
diff --git a/ShoulderModel/PostProcessing/JRDATA_CSA33.mat b/ShoulderModel/PostProcessing/JRDATA_CSA33.mat
new file mode 100755
index 0000000..27514fa
Binary files /dev/null and b/ShoulderModel/PostProcessing/JRDATA_CSA33.mat differ
diff --git a/ShoulderModel/PostProcessing/JRDATA_CSA41.mat b/ShoulderModel/PostProcessing/JRDATA_CSA41.mat
new file mode 100755
index 0000000..96756f9
Binary files /dev/null and b/ShoulderModel/PostProcessing/JRDATA_CSA41.mat differ
diff --git a/ShoulderModel/PostProcessing/KEDATA_CSA25.mat b/ShoulderModel/PostProcessing/KEDATA_CSA25.mat
new file mode 100755
index 0000000..9d19179
Binary files /dev/null and b/ShoulderModel/PostProcessing/KEDATA_CSA25.mat differ
diff --git a/ShoulderModel/PostProcessing/KEDATA_CSA33.mat b/ShoulderModel/PostProcessing/KEDATA_CSA33.mat
new file mode 100755
index 0000000..3869b3b
Binary files /dev/null and b/ShoulderModel/PostProcessing/KEDATA_CSA33.mat differ
diff --git a/ShoulderModel/PostProcessing/KEDATA_CSA41.mat b/ShoulderModel/PostProcessing/KEDATA_CSA41.mat
new file mode 100755
index 0000000..a595b1f
Binary files /dev/null and b/ShoulderModel/PostProcessing/KEDATA_CSA41.mat differ
diff --git a/ShoulderModel/PostProcessing/postprocessing.m b/ShoulderModel/PostProcessing/postprocessing.m
new file mode 100755
index 0000000..11062b7
--- /dev/null
+++ b/ShoulderModel/PostProcessing/postprocessing.m
@@ -0,0 +1,66 @@
+%
+% POSTPROCESSING CSA ANALYSIS
+%
+
+clear all; close all; clc;
+
+% create plots
+figure();
+plotDeltoidAnt = subplot(2,3,1); hold on; title('Anterior Deltoid'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+plotDeltoidMid = subplot(2,3,2); hold on; title('Middle Deltoid'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+plotDeltoidPost = subplot(2,3,3); hold on; title('Posterior Deltoid'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+plotSupraspinatus = subplot(2,3,4); hold on; title('Supraspinatus'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+plotInfraspinatus = subplot(2,3,5); hold on; title('Infraspinatus'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+plotSubscapularis = subplot(2,3,6); hold on; title('Subscapularis'); xlabel('Abduction Angle [deg]');ylabel('Muscle Force [N]');
+
+overalltitle = suptitle(sprintf('CSA Dependant Shoulder Muscle Forces\nblue=28°, green=33°, red=38°'));
+
+files={'25','33','41'};
+colors={'blue','green','red'};
+
+figure();
+plotJointReaction = subplot(1,2,1); hold on; title('Joint Reaction Force');xlabel('Abduction Angle [deg]'); ylabel('Reaction Force [N]');
+plotJointStability = subplot(1,2,2); hold on; title('Joint Stability (green x = start');
+teta = linspace(0, 2*pi, 100);
+Hay = 0.0119;
+Haz = 0.0156;
+Py = Hay*cos(teta);
+Pz = Haz*sin(teta);
+plot(Py, Pz, 'color', 'red', 'linewidth', 2);
+axis([-0.03,0.03,-0.03,0.03]);
+axis equal;
+overalltitle = suptitle(sprintf('CSA Dependant Glenohumeral Joint Reaction Forces\nblue=28°, green=33°, red=38°'));
+
+plotlimit = 62;
+
+% pythonstyle: for file in names:
+
+for i=1:length(files)
+
+ efdata=['EFDATA_CSA' files{i} '.mat'];
+ jrdata=['JRDATA_CSA' files{i} '.mat'];
+ kedata=['KEDATA_CSA' files{i} '.mat'];
+
+ load(efdata);
+ load(jrdata);
+ load(kedata);
+
+ % plot Deltoid forces 22 23 24
+ plot(plotDeltoidAnt, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{22, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+ plot(plotDeltoidMid, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{23, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+ plot(plotDeltoidPost, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{24, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+
+ % rotator cuff 25 26 27
+ plot(plotSupraspinatus, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{25, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+ plot(plotInfraspinatus, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{26, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+ plot(plotSubscapularis, -KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, sum(EFDATA{27, 1}.Forces(1:plotlimit,1:20)'), 'linewidth', 2, 'color', colors{i});
+
+ % joint reaction force
+ plot(plotJointReaction,-KEDATA.Joint_Angle_Evolution(8,1:plotlimit)'*180/pi, JRDATA(1:plotlimit,4), 'linewidth', 2, 'color', colors{i});
+
+ % joint stability
+ plot(plotJointStability,JRDATA(1:plotlimit,6), JRDATA(1:plotlimit,7), 'linewidth', 2, 'marker', 'x','color', colors{i});
+ plot(plotJointStability,JRDATA(1,6), JRDATA(1,7), 'linewidth', 2, 'marker', 'x', 'color', 'green');
+ plot(plotJointStability,JRDATA(plotlimit,6), JRDATA(plotlimit,7), 'linewidth', 2, 'marker', 'x', 'color', 'red');
+end
+
diff --git a/ShoulderModel/README.txt b/ShoulderModel/README.txt
new file mode 100755
index 0000000..07d61d0
--- /dev/null
+++ b/ShoulderModel/README.txt
@@ -0,0 +1,257 @@
+This readme details how to use the EPFL musculoskeletal model through its GUI.
+This version of the model allows replicating patients/subjects with anatomical glenohumeral joint (no implant) as well as patients with anatomical total shoulder arthroplasty (aTSA).
+
+Author: ehsan.sarshari@epfl.ch
+Revision 1, 26 Nov 2018
+——————————————————————————————
+Some notes before getting started:
+
+- For running the model you need to have Matlab installed.
+- The model is developed such that it is consistent with different platforms (Unix and Windows).
+- It is strongly recommended to run the model on Matlab 2014 or 2015 to have the best performance.
+- Depending on your screen size/resolution you may have to resize the GUI windows to full screen view so that the menus/buttons are readable.
+
+——————————————————————————————
+By following the steps bellow, you would be able to:
+ - adapt/scale the model to a specific patient
+ - simulate a measured motion
+ - estimate the muscle and joint reaction forces
+ - understand the overall structure of the model
+
+Now, let’s get started.
+
+1- Open your Matlab.
+
+2- Set the directory to /ShoulderModel.
+
+3- Open MODEL_MAIN_FILE.m and run it.
+
+The MasterHead window appears first including information about the contributors in developing the model. You can close it right-away.
+
+Meantime the model is constructed and two messages are printed one after another in the Command Window as the following.
+
+Building the model data, please wait ...
+The model has been constructed, ...
+
+Following the two messages, the main GUI window (EPFL-LBO Upper Extremity Model MAIN GUI) now appears.
+
+In this window, access to six model toolbox is granted. The toolboxes are:
+
+ - SUBJECT SPECIFIC TOOL
+ To adapt/scale the generic model to a specific patient/subject
+
+ - MUSCLE WRAPPING TOOL
+ To visually check the path of the muscles in different joint configurations and set the number of strings by which a muscle should be replicated.
+
+ - JOINT INITIALIZATION TOOL
+ To change the initial configuration of the model in terms of its joint angles.
+
+ - KINEMATICS TOOL
+ To reconstruct a motion either when measured data are available from videogrammetry systems or when no measured data is available.
+
+ - CHECK INDIVIDUAL MOMENT ARMS
+ To calculate the moment arms of all the muscles around each joint for the reconstructed motion.
+
+ - ESTIMATE FORCES
+ To transform the measured EMG signals to muscle forces and estimate the muscle and joint reaction forces using inverse dynamics and static optimization.
+
+The main GUI window also provides interactive options for changing/saving the model visualizations.
+
+You can close the model and clean up the Workspace by hitting the CLOSE GUI button.
+
+4- Click on the “SUBJECT SPECIFIC TOOL” button.
+
+SUBJECT SPECIFIC TOOLBOX window appears that allows specifying numbers of subject-specific parameters so that the generic model can be adapted to a specific patient/subject. These parameters are as the following:
+
+ - Gender
+ - Weight
+ - Height
+ - PCSA of muscles
+ - Glenoid fossa orientation defined using glenoid version angle, glenoid inclination angle, glenoid center point, and implant/humeral head diameter (a definition of these parameters is available in “Terrier, A., et al. Measurements of three-dimensional glenoid erosion when planning the prosthetic replacement of osteoarthritic shoulders, The bone & joint journal 96.4 (2014): 513-518).
+
+A protocol named MSM_input_output_preprocessing.pdf/docx is available in smb://lbovenus/shoulder/methods/matlab/MSM/ShoulderModel_pre_post_processing in order to allow you feed the subject-specific tool with patients’/subjects’ data obtainable from CT or blueprint data. For patients with anatomical glenohumeral joint refer to section 1-1 and for patients with anatomical total shoulder arthroplasty refer to section 1-2.
+
+5- Once you input the subject-specific parameters, you can load videogrametry-based measured kinematics by hitting the gray button below “Load Measured Kinematics”.
+
+A set of measured motions in their raw format (without filtration) are provided together with the model that can be obtained in /ShoulderModel/Generic_Measurements/kinematics. It includes the following activities in a desired format/structure that the model can read.
+
+ act1: abduction frontal plane with 2 kg
+ act2: elevation sagittal plane with 2 kg
+ act3: abduction scapula plane with 2 kg
+ act4: fast abduction scapula plane
+ act5: slow abduction scapula plane
+ act6: put 2 kg in a shelf at head height
+ act7: hand behind the head
+ act8: touch the other shoulder
+ act9: french canes
+ act10: counter external rotation (static pose, no motion)
+ act11: counter internal rotation (static pose, no motion)
+ act12: french cranes a second try
+
+Once the kinematic data is loaded, a message box will pop up to show if the provided data was consistent or something was missing or went wrong. You can simply close it in case it is SUCCESSFUL.
+
+6- Click on the “SCALE MEASURED KINEMATICS” to scale the generic measurements to the specific subject that you input his/her data.
+
+“The measured kinematics were scaled.” will be printed once this is done.
+
+7- Click “SCALE USING GENDER, BW, BH” to scale the model dynamics and kinematics based on gender, weight, and hight and according to the anthropometric studies that the model uses in the background.
+
+“The model skeletal morphology and muscle architecture and propertis were scaled” will be printed in the Command Window once this is done.
+
+8- Click “SCALE RIBCAGE ELLIPSOID” to scale the ellipsoids approximating the ribcage.
+
+These ellipsoids are used to constrain the scapula to gliding over the ribcage (for more detail see “Sarshari, Ehsan, A Closed-Loop EMG-Assisted Shoulder Model, No. THESIS. EPFL, 2018” and “Ingram, David, Musculoskeletal Model of the Human Shoulder for Joint Force Estimation, No. THESIS_LIB. EPFL, 2015”.
+
+This step takes longer than the other last two steps and when it is done the following message is printed in the Command Window.
+“Ribcage ellipsoides and dynamic model were scaled…”.
+
+9- Click “VISUALIZE THE SCALED DATA” to have a visual comparison between the scaled-generic model (will be shown in blue) and the generic model (shown in red).
+
+10- Click the “CLOSE TOOL” button to permanently save the subject-specific changes in the model. Otherwise, you can leave this window open so that in case you want to reset the model to its generic form, you can hit “RESET TO GENERIC MODEL” button. Evidently, you can always start from step 3 to have the generic model.
+
+11- Hit the “MUSCLE WRAPPING TOOL” in the MAIN GUI window.
+
+The “MUSCLE WRAPPING TOOLBOX” appears.
+
+By default all the muscles are replicated with one single segment shown in red. The origin of the muscles are shown on the bones in green and the insertions are in blue.
+
+On the right hand-side of this window you can vary 11 joint angles to visually check the path taken by all the muscles.
+
+You can reset the joint angles to the model’s initial configuration by hitting the “RESET ANGLES” button.
+
+By default all the muscles, their origins, and their insertions are shown. You can change the visualization of each muscle or all of the muscles through “Muscle Properties” menu and “Set All Properties” menu in the menu bar, respectively. You need to hit the “UPDATE VISUALIZATION” button to put the changes in effect.
+
+You can also visualize the wrapping object(s) of each muscle through Muscle Properties menu. First select the muscle, and tick the “Object Visible?” option. Then, click on the “UPDATE VISUALIZATION” button.
+
+The obstacle set method of Garner and Pandy with some modifications in implementation was used to construct the muscle paths, while the insertions, origins, and the wrapping objects were defined based on our generic subject’s MRI and CTs with the help of a professional radiologist. For more details see “Garner, B. A., & Pandy, M. G. (2000). The obstacle-set method for representing muscle paths in musculoskeletal models. Computer methods in biomechanics and biomedical engineering, 3(1), 1-30.” and “Ingram, D. (2015). Musculoskeletal Model of the Human Shoulder for Joint Force Estimation (No. THESIS_LIB). EPFL.”.
+
+12- On the “MUSCLE WRAPPING TOOLBOX” window, click on the “Set All Properties” menu and set the “Number of Segments” option to 3. Then click on the “UPDATE VISUALIZATION” button. This would increase the number of segments used for replicating each one of the muscles from 1 to 3.
+
+13- Click on the “CLOSE TOOL” button to close the “MUSCLE WRAPPING TOOLBOX”.
+
+14- Click the “KINEMATICS TOOL” in the Main GUI window.
+
+The “KINEMATICS TOOLBOX” window appears.
+
+On the top right-hand corner, you have two options to reconstruct a motion.
+
+ - Option 1: Use this option in case you do not have videogrammetry-based measured motions. This option constructs the joint space using 9 minimal coordinates that inherently satisfy the kinematic constraints regarding scapula gliding over the ribcage ellipsoids.
+
+The minimal coordinates (M1 to M9) are detailed in the bottom of the top right-hand corner of the “KINEMATICS TOOLBOX”.
+
+To construct a motion using this option you should first set the initial and final values of the minimal coordinates through the boxes available on the left hand-side corner of the toolbox. Then set the number of frames that you want to have between the initial and final values through “Number Of Points”, i.e. in how many steps (frames) you want the model to go from the configuration defined by the initial values to the configuration defined using the final values of the minimal coordinates. Once you set these, hit the “BUILD MOTION (Option 1)” button to construct a motion.
+
+The constructed motion would appear in terms of 11 joint angles on the lower half of the window. You can click on each graph to have it open in a separate window.
+
+In order to replicate a specific motion using the minimal coordinates you need to set proper initial and final values for them. To this end, you require a more thorough understanding of these coordinates and also some tweaking afterwards. To find out more about the minimal coordinates check the followings “Ingram, D. (2015). Musculoskeletal Model of the Human Shoulder for Joint Force Estimation (No. THESIS_LIB). EPFL.” and “Ingram, D., Engelhardt, C., Farron, A., Terrier, A., & Müllhaupt, P. (2016). Modelling of the human shoulder as a parallel mechanism without constraints. Mechanism and Machine Theory, 100, 120-137.”.
+
+ - Option 2: Once you loaded a videogrammetry-based measured kinematics in the “SUBJECT-SPECIFIC TOOLBOX” you can use this option to reconstruct a motion. Motion reconstruction here refers to deriving the joint angles from the videogrammetry-based measured trajectories of skin-fixed markers. The joint angles are defined such that the sum of distance between the model landmarks and the measured markers is minimized for each frame of measured data while the kinematic constraint of scapula gliding over the ribcage is satisfied.
+
+15- Click on the “BUILD MOTION (Option 2)” button.
+
+“BUILD MOTION (Option 2), reconstruction of a measured motion” window appears.
+
+This window allows you to
+ - analyze the measured data to design a proper filter
+ - design a filter
+ - filter the data
+ - estimate missing markers (see step 18)
+ - perform inverse-kinematics
+ - see the reconstructed motion in terms of an animated motion as well as the joint angles graphs.
+
+16- Click on either “residual Analysis” or “Harmonic Analysis” buttons to analyze the measured kinematic data in terms of the amount of noise they have. For each case a graph showing the results of the analysis will appear. Based on these graphs you can define the cutoff frequency of the low-pass filter. If you are not familiar with these two standard analyses, you can find more details in “Winter, D. A. (2009). Biomechanics and motor control of human movement. John Wiley & Sons.”.
+
+17- Set the “Cutoff Frequency” and “Filter Order” in the associated boxes and then hit the “Filter Measured Data” button.
+
+A success message would pop up, that you can close, and a graph showing the filtered data together with the raw data. You can use this graph to have an idea of how long the measurements are and set a proper time for your simulation in the “Motion time span” box. Otherwise, you can keep the default value. It is recommended to consider a proper value to avoid simulation of the measured motion while the subject was in the transition pause.
+
+18- Click on the “Estimate Missing Landmarks”.
+
+In the measurements provided with the model, only the trajectories of 11 markers were measured. However, the model consists of 14 landmarks. The 3 missing markers were associated with the center of the glenohumeral joint (GH) and two points on the border of the scapula (TS and AI). These three markers cannot effectively be palpated. On the other hand, in order to be able to evaluate the distance between the model landmarks and the measured markers a one-to-one association between the model landmarks and the measured markers is required. To this end, the missing markers are estimated. Our approach in estimating these markers can be found here “Sarshari, E. (2018). A Closed-Loop EMG-Assisted Shoulder Model (No. THESIS). EPFL.”. Alternatively, if a set of kinematic data including these missing landmarks is provided for instance by using a scapula kinematic measurement-device, the estimation step can be simply skipped.
+
+
+While the estimation is on course, the progress is printed in the Command Window. Once the estimation is finished, the following message is printed in the Command Window “Show the estimated/measured landmarks in GREEN for the first time Stamp” and the configuration of the subject for the first frame of the measured data is displayed in green together with the model configuration (based on the posture of the generic subject in the MRI machine in blue).
+
+19- Set a proper/meaningful time span for the simulation in the “Motion time Span” that excludes portions of the motion that are not necessary/interesting. Practically speaking, there is always a few seconds at the end of our measurements where the subject is not performing any motion and instead waiting for the indication to perform the next task.
+
+20- Hit the “Perform Inverse Kinematics” button to reconstruct the motion.
+
+It takes some time to complete and meanwhile the progress can be observed through the Command Window.
+
+Once it is completed, the following messages are printed in the Command Window “Motion reconstruction was finished and the results smoothened.
+Plot the resulted generalized coordinates (joint angels)” and the 11 joint angles are plotted in the lower half of the window.
+
+Each one of the plots will be plotted separately upon clicking on them. Furthermore, a smooth fitted polynomial and its first and second order derivatives will be also shown in the same figure.
+
+Click on the “View Motion” button if you would like to see the reconstructed motion. A video with AVI format will be save in the main directory of the model at the same time.
+
+21- Click on the “CLOSE TOOL” and proceed to the MAIN GUI window.
+
+
+22- Click on the “ESTIMATE FORCES” button on the MAIN GUI window.
+
+The “MUSCEL FORCE ESTIMATION TOOLBOX” window appears.
+
+This window allows you to estimate the muscle and joint reaction forces. There are three options possible for performing this estimation as the following that can be activated through the “Estimation Options/Options” menu in the menu bar.
+
+ - Glenohumeral Stability Constraint: forces the glenohumeral joint reaction force to always point toward the glenoid fossa, more details here “Ingram, D. (2015). Musculoskeletal Model of the Human Shoulder for Joint Force Estimation (No. THESIS_LIB). EPFL.” and “Sarshari, E. (2018). A Closed-Loop EMG-Assisted Shoulder Model (No. THESIS). EPFL.”.
+
+ - EMG-Assisted: introduces the muscle forces of 15 muscles calculated based on the measured EMG excitations and a Hill-type muscle model as upper and lower bounds in the load-sharing problem, more details in Step 24 and here “Sarshari, E. (2018). A Closed-Loop EMG-Assisted Shoulder Model (No. THESIS). EPFL.”.
+
+ - Measured Kinematics: considers the reconstructed motion from the measured kinematics in the inverse dynamics.
+
+
+23- Check the tick for the three options in “Estimation Options/Options” menu in the menu bar.
+
+24- Hit the gray button below the “Load EMG data”.
+
+This allows you to load the EMG excitations of 15 superficial muscles that were measured on the same subject during the same motion. The measured EMG data can be found in ShoulderModel/Generic_Measurements/EMG.
+
+The idea is to use the measured EMG excitations to estimate the muscle forces of 15 muscles using a Hill type muscle model for the reconstructed motion. These EMG-based muscle forces will be used as upper and lower bounds in the load-sharing to shrink its feasible set. We have shown that this can improve the model’s muscle force estimations.
+
+25- Select the measured EMG data for the associating motion (activity).
+
+A success message would appear that you can dismiss.
+
+Note that the EMG data have been already processed, more details here “Sarshari, E. (2018). A Closed-Loop EMG-Assisted Shoulder Model (No. THESIS). EPFL.”.
+
+26- Set the time of the simulation through the box under “Motion Time Span” according to the time that you set in Step 19.
+
+27- If the subject carried a weight during the measurements you should indicate it through the box under the “Weight in Hand”.
+
+28- Click on the “EMG to Force” button.
+
+This will calculate the muscle forces for each one of the 15 muscles for which you provided EMG signals by integrating a Hill type muscle-tendon model. More details here “Sarshari, E. (2018). A Closed-Loop EMG-Assisted Shoulder Model (No. THESIS). EPFL.”.
+
+You can follow the progress in the Command Window given that it might take quite some time depending on the motion time span.
+
+Once it is completed, a graph showing the EMG based muscle forces will be plotted.
+
+You can dismiss this graph and proceed to the next step.
+
+29- Click the “ESTIMATE FORCES” button to solve the load-sharing problem given the 3 options that you selected.
+
+The progress can be observed through the Command Window.
+
+Once it is completed, a message box would pop up that can assist you to check if the load-sharing was performed successfully.
+
+The muscle and joint reaction forces will be plotted on the “MUSCEL FORCE ESTIMATION TOOLBOX” window. By clicking on each one of these plots you can visualize them separately.
+
+The save button saves the muscle and joint reaction force estimations results (JRDATA and EFDATA respectively) in the folder “Data_Structures_and_Documentation”.
+
+30- The following details the simulations outcome that you find in the Workspace.
+
+ - SSDATA: includes all subject-specific data, all data associating with the measurements (EMG/kinematics), and the model kinematics (joint angles) if inverse kinematics (Option 2) is used to reconstruct a motion.
+ - KEDATA: includes all the data associating with the model kinematics if minimal coordinates (Option 1) is used to construct a motion.
+ - JRDATA: is a 16 column vertical matrix that includes the 3 components of the GH joint reaction force in the thorax coordinate system, the magnitude of the GH joint reaction force, the three coordinates of the intersection of the GH joint reaction force with the glenoid fossa in the fossa coordinate system, the stability ratio, the 3 components of the HU joint reaction force, the magnitude of the HU joint reaction force, the 3 components of the RU joint reaction force and the magnitude of the RU joint reaction force, respectively.
+ - EFDATA: includes estimations of muscle forces and their moment arms.
+ - DYDATA: includes all the data associating with the model inertial properties.
+ - BLDATA: includes all the data associating with the model morphologies. The coordinate systems of different bone segment can be found here.
+ - MWDATA: includes all the data associating with the muscle paths and their physiological constants.
+ - REDATA: includes all the data associating with the ribcage ellipsoids.
+
+
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_EMG_to_force.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_EMG_to_force.m
new file mode 100755
index 0000000..041ee28
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_EMG_to_force.m
@@ -0,0 +1,264 @@
+function SSDATA = ESTIMATION_TOOL_EMG_to_force(ESGUIHandle, SSDATAin, BLDATA, MWDATA, DYDATA)
+%{
+Function to define muscle forces from EMG data
+--------------------------------------------------------------------------
+Syntax :
+SSDATA = ESTIMATION_TOOL_EMG_to_force(ESGUIHandle, SSDATAin, BLDATA)
+--------------------------------------------------------------------------
+File Description :
+This function defines the muscle forces based on the EMG data and the
+muscle-tendon length for the measured motion using the muscle model and
+saves the results in SSDATA data structure.
+
+muscle force : SSDATA.f_T
+muscle-tendon lengths : SSDATA.L_mt
+--------------------------------------------------------------------------
+%}
+% set the scaling factor
+if isfield(DYDATA, 'PCSA_scaling_factor') == 0
+ DYDATA.PCSA_scaling_factor = 1;
+else
+ % do not need to do anything given that the field exists with its
+ % proper value from scaling of the model in the subject-specific tool
+end
+
+% initialize the SSDATA
+SSDATA = SSDATAin;
+
+% define the time
+t = linspace(0, str2double(get(ESGUIHandle.TimeFrameEdit, 'string')), length(SSDATA.Joint_Angle_Reconstruction));
+
+% list of the muscle for which we have measured the EMG excitations
+% the naming is based on our protocol for performing the experiminet
+muscle_list = {'DANT' 'DMED' 'DPOS' 'TDES' 'TTRA' 'TASE' 'TERM' 'PECT' 'BICL',...
+ 'BICS' 'TLOH' 'TLAH' 'BRAC' 'FLCU' 'INFS'};
+
+% muscle-tendon parameters (from untitle.m)
+% the parameters here are basically from Garner and Pandy with some
+% tweaking in order to lower the passive muscle forces
+
+% modified Garner and Pandy muscle morphological data
+% muscle_parameters = [277.48 14.68e-2 0 5.5*14.68e-2 1.64e-2; % DANT
+% 1860.52 6.69e-2 0 5.5*6.69e-2 8.56e-2; % DMED
+% 567.15 17.02e-2 0 5.5*17.02e-2 5.93e-2; % DPOS
+% 119.25 21.44e-2 0 5.5*21.44e-2 2.60e-2; % TDES
+% 409.23 17.91e-2 0 5.5*17.91e-2 2.42e-2; % TTRA
+% 514.51 14.84e-2 0 5.5*14.84e-2 4.79e-2; % TERM
+% 484.35 16.58e-2 0 5.5*16.58e-2 9.03e-2; % PECT
+% 392.91 17.36e-2 10 5.5*17.36e-2 24.93e-2; % BICL
+% 361.76 12.07e-2 10 5.5*12.07e-2 26.98e-2; % BICS
+% 629.21 17.24e-2 15 5.5*17.24e-2 20.05e-2; % TLOH
+% 1068.87 12.17e-2 15 5.5*12.17e-2 22.64e-2; % TLAH
+% 753.90 15.28e-2 15 5.5*15.28e-2 4.75e-2; % BRAC
+% 400.70 4.7e-2 15 4.7*5e-2 27.74e-2; % FLCU
+% 1099.61 10.76e-2 0 5.5*10.76e-2 6.58e-2]; % INFS
+
+% BRAC changes that made increase the BRAC force at least 200%
+% INFS changes (increase) decrease the INFS force 150% but not that much
+% changes in the contact force
+% delft muscle morphological data
+% muscle_parameters = [DYDATA.PCSA_scaling_factor*277.48 14.68e-2 0 5.5*14.68e-2 1.64e-2;% DANT
+% DYDATA.PCSA_scaling_factor*1860.52 9e-2 0 5.5*9e-2 8.56e-2;% DMED
+% DYDATA.PCSA_scaling_factor*567.15 17.02e-2 0 5.5*17.02e-2 5.93e-2;% DPOS
+% DYDATA.PCSA_scaling_factor*119.25 21.44e-2 0 5.5*21.44e-2 0.60e-2;% TDES (trapezius C7)
+% DYDATA.PCSA_scaling_factor*114.01 19.37e-2 0 5.5*19.37e-2 0.32e-2;% 1/6 of TTRA(trapezius T1)
+% DYDATA.PCSA_scaling_factor*409.23 15.91e-2 0 5.5*15.91e-2 0.42e-2;% 5/6 of TTRA + 1/6 of TASE (trapezius T2-T7)
+% DYDATA.PCSA_scaling_factor*514.51 14.84e-2 0 5.5*14.84e-2 5.79e-2;% TERM
+% DYDATA.PCSA_scaling_factor*484.35 16.58e-2 0 5.5*16.58e-2 9.03e-2;% PECT
+% DYDATA.PCSA_scaling_factor*392.91 15.36e-2 10 5.5*15.36e-2 22.93e-2;% BICL
+% DYDATA.PCSA_scaling_factor*461.76 13.07e-2 10 5.5*13.07e-2 22.98e-2;% BICS
+% DYDATA.PCSA_scaling_factor*629.21 15.24e-2 15 5.5*15.24e-2 19.05e-2;% TLOH
+% DYDATA.PCSA_scaling_factor*1268.87 6.17e-2 15 5.5*6.17e-2 19.64e-2;% TLAH
+% DYDATA.PCSA_scaling_factor*853.90 10.28e-2 15 5.5*10.28e-2 1.75e-2;% BRAC
+% DYDATA.PCSA_scaling_factor*560.70 4.78e-2 15 5.5*4.78e-2 27.14e-2;% FLCU
+% DYDATA.PCSA_scaling_factor*1099.61 9.76e-2 0 5.5*9.76e-2 5.58e-2];% INFS
+
+
+muscle_parameters = [DYDATA.PCSA_scaling_factor*32.9703*1e4*MWDATA{20, 1}.MSCInfo.PCSA 14.68e-2 0 5.5*14.68e-2 1.64e-2;% DANT
+ DYDATA.PCSA_scaling_factor*32.9996*1e4*MWDATA{21, 1}.MSCInfo.PCSA 9e-2 0 5.5*9e-2 8.56e-2;% DMED
+ DYDATA.PCSA_scaling_factor*32.9930*1e4*MWDATA{22, 1}.MSCInfo.PCSA 17.02e-2 0 5.5*17.02e-2 5.93e-2;% DPOS
+ DYDATA.PCSA_scaling_factor*33.0332*1e4*MWDATA{6, 1}.MSCInfo.PCSA 21.44e-2 0 5.5*21.44e-2 0.60e-2;% TDES (trapezius C7)
+ DYDATA.PCSA_scaling_factor*33.0464*1e4*MWDATA{7, 1}.MSCInfo.PCSA 19.37e-2 0 5.5*19.37e-2 0.32e-2;% 1/6 of TTRA(trapezius T1)
+ DYDATA.PCSA_scaling_factor*33.0024*1e4*MWDATA{8, 1}.MSCInfo.PCSA 15.91e-2 0 5.5*15.91e-2 0.42e-2;% 5/6 of TTRA + 1/6 of TASE (trapezius T2-T7)
+ DYDATA.PCSA_scaling_factor*32.7922*1e4*MWDATA{27, 1}.MSCInfo.PCSA 14.84e-2 0 5.5*14.84e-2 5.79e-2;% TERM
+ DYDATA.PCSA_scaling_factor*32.9939*1e4*MWDATA{15, 1}.MSCInfo.PCSA 16.58e-2 0 5.5*16.58e-2 9.03e-2;% PECT
+ DYDATA.PCSA_scaling_factor*32.9899*1e4*MWDATA{33, 1}.MSCInfo.PCSA 15.36e-2 10 5.5*15.36e-2 22.93e-2;% BICL
+ DYDATA.PCSA_scaling_factor*33.0064*1e4*MWDATA{32, 1}.MSCInfo.PCSA 13.07e-2 10 5.5*13.07e-2 22.98e-2;% BICS
+ DYDATA.PCSA_scaling_factor*32.9948*1e4*MWDATA{29, 1}.MSCInfo.PCSA 15.24e-2 15 5.5*15.24e-2 19.05e-2;% TLOH
+ DYDATA.PCSA_scaling_factor*33.0005*1e4*MWDATA{31, 1}.MSCInfo.PCSA 6.17e-2 15 5.5*6.17e-2 19.64e-2;% TLAH
+ DYDATA.PCSA_scaling_factor*32.9946*1e4*MWDATA{34, 1}.MSCInfo.PCSA 10.28e-2 15 5.5*10.28e-2 1.75e-2;% BRAC
+ DYDATA.PCSA_scaling_factor*33.0018*1e4*MWDATA{39, 1}.MSCInfo.PCSA 4.78e-2 15 5.5*4.78e-2 27.14e-2;% FLCU
+ DYDATA.PCSA_scaling_factor*33.0015*1e4*MWDATA{24, 1}.MSCInfo.PCSA 9.76e-2 0 5.5*9.76e-2 5.58e-2];% INFS
+
+% run the model through the measured kinematics to have the muscle-tendon lengths
+% They are saved in SSDATA.L_mt field
+SSDATA = muscle_length(t, SSDATA, BLDATA, MWDATA);
+
+% define the muscle forces using the muscle model
+for muscle_id = 1 : length(muscle_list)
+
+ disp(['Calculating EMG to force in ' muscle_list{muscle_id} '(' num2str(muscle_id) '/' num2str(length(muscle_list)) ')']);
+
+ bound = 1; % which part of the EMG data should be considered (1: mean, 2: +sigma, 3:-sigma)
+
+ if muscle_id == 5
+ [sol, f_l, f_p, f_v, f_t, tendon_length, a_muscle, cos_alpha] = EMG_based_force_prediction(muscle_parameters(muscle_id, :), [t(1, 1) t(1, end)],...
+ [SSDATA.EMG_data.(muscle_list{muscle_id})(4, :); (1/6)*SSDATA.EMG_data.(muscle_list{muscle_id})(bound, :)],...
+ eval(['SSDATA.L_mt.' (muscle_list{muscle_id}) '_length']));
+ elseif muscle_id == 6
+ [sol, f_l, f_p, f_v, f_t, tendon_length, a_muscle, cos_alpha] = EMG_based_force_prediction(muscle_parameters(muscle_id, :), [t(1, 1) t(1, end)],...
+ [SSDATA.EMG_data.(muscle_list{muscle_id})(4, :); (1/6)*SSDATA.EMG_data.(muscle_list{muscle_id})(bound, :)+(5/6)*SSDATA.EMG_data.(muscle_list{muscle_id-1})(bound, :)],...
+ eval(['SSDATA.L_mt.' (muscle_list{muscle_id}) '_length']));
+ else
+ [sol, f_l, f_p, f_v, f_t, tendon_length, a_muscle, cos_alpha] = EMG_based_force_prediction(muscle_parameters(muscle_id, :), [t(1, 1) t(1, end)],...
+ [SSDATA.EMG_data.(muscle_list{muscle_id})(4, :); SSDATA.EMG_data.(muscle_list{muscle_id})(bound, :)],...
+ eval(['SSDATA.L_mt.' (muscle_list{muscle_id}) '_length']));
+ end
+ % syntax: [sol, f_t, tendon_length] = EMG_based_force_prediction(muscle_par, tspan, excitation, l_MT_length)
+
+
+ %time.(muscle_list{muscle_id}) = sol.x;
+ SSDATA.f_T.(muscle_list{muscle_id}) = f_t;
+% f_V.(muscle_list{muscle_id}) = f_v;
+ SSDATA.f_P.(muscle_list{muscle_id}) = f_p;
+% f_L.(muscle_list{muscle_id}) = f_l;
+% l_T.(muscle_list{muscle_id}) = tendon_length;
+% a_m.(muscle_list{muscle_id}) = deval(a_muscle, time);
+% cos_alp.(muscle_list{muscle_id}) = cos_alpha;
+% %f_T_try1.(muscle_list{muscle_id}) = cos_alpha.*(deval(a_muscle, time).*f_l.*f_v/muscle_parameters(muscle_id, 1));
+ clear sol f_t f_v f_p f_l tendon_length a_muscle cos_alpha
+end
+
+% plot the results together with the optimization-based results
+figure('name', 'EMG to force',...
+ 'Units','normalized', 'position', [0.2, 0.3, 0.8, 0.7])
+for muscle_id = 1 : length(muscle_list)
+ subplot(3, 5, muscle_id)
+
+% %plot(time, f_L.(muscle_list{muscle_id}), '--k', 'linewidth', 1)
+ hold on
+ plot(t(1,:), SSDATA.f_P.(muscle_list{muscle_id}), '-.k', 'linewidth', 1)
+% %plot(time, f_V.(muscle_list{muscle_id}), ':k', 'linewidth', 1)
+% plot(time, cos_alp.(muscle_list{muscle_id}).*(a_m.(muscle_list{muscle_id}).*f_L.(muscle_list{muscle_id}).*f_V.(muscle_list{muscle_id})/muscle_parameters(muscle_id, 1) + f_P.(muscle_list{muscle_id}) - f_P.(muscle_list{muscle_id})), 'k.', 'MarkerSize', 8)
+% plot(time, f_T.(muscle_list{muscle_id}), 'r', 'linewidth', 3)
+% plot(time, eval([muscle_list{muscle_id} '_force' '(2, :)']), 'b', 'linewidth', 3)
+ plot(t(1,:), SSDATA.f_T.(muscle_list{muscle_id}), 'k', 'linewidth', 3)
+ xlabel('time [s]')
+ ylabel('force in muscle [N]')
+ ylim([0 inf])
+ xlim([0 t(1, end)])
+ grid on
+ title(['average ' muscle_list{muscle_id}])
+ %legend('f^l', 'f^p', 'f^v', 'f^{lvp}','f^t', 'f_{opt}', 'Location','best')
+ set(gca,'FontSize',20);
+
+end
+
+return;
+
+
+% -------------------------------------------------------------------------
+% function to define the muscle-tendon lengths for the measured motion
+% -------------------------------------------------------------------------
+function SSDATA = muscle_length(t, SSDATA, BLDATA, MWDATA)
+
+% Define Angles, Velocities, & Accelerations
+% first chose among the two available options for the kinematics
+% for ja_id = 1:11
+% JEA(ja_id,:) = polyval(SSDATA.Joint_Angle_Coefficients(ja_id,:),t);
+% dJEAdt(ja_id,:) = polyval(SSDATA.Joint_Velocity_Coefficients(ja_id,:),t);
+% d2JEAdt2(ja_id,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(ja_id,:),t);
+% end
+JEA = SSDATA.Joint_Angle_Reconstruction; % direct use of the IK results instead of smoothening them as it's the case for the lines above
+
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain a 9 x N matrix
+for MuscleId = 1:42
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(JEA,2),1);
+ end
+end
+
+
+for TimeId = 1:size(JEA,2)
+
+ % Get the Current Rotation Matrices
+ %Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,TimeId), BLDATA);
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', JEA(:,TimeId), BLDATA);
+
+ % Update the current configuration
+ BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ %----------------------------------------------------------------------
+ % MOMENT ARMS & FORCE DIRECTIONS : GEOMETRIC METHOD FOR EACH MUSCLE
+ %----------------------------------------------------------------------
+ % Pre-define Moment Arm Matrix
+ Wmat = [];
+ Dmat = [];
+ Lmat = zeros(42,20);
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ % Construct a One-Time Muscle Structure for a single segment
+ Muscle_Seg.Origin = MWDATA{MuscleId,1}.Origin{1,SegmentId};
+ Muscle_Seg.ViaA = MWDATA{MuscleId,1}.ViaA{1,SegmentId};
+ Muscle_Seg.ViaB = MWDATA{MuscleId,1}.ViaB{1,SegmentId};
+ Muscle_Seg.Insertion = MWDATA{MuscleId,1}.Insertion{1,SegmentId};
+ Muscle_Seg.OriginRef = MWDATA{MuscleId,1}.MSCInfo.OriginRef;
+ Muscle_Seg.ViaARef = MWDATA{MuscleId,1}.MSCInfo.ViaARef;
+ Muscle_Seg.ViaBRef = MWDATA{MuscleId,1}.MSCInfo.ViaBRef;
+ Muscle_Seg.InsertionRef = MWDATA{MuscleId,1}.MSCInfo.InsertionRef;
+ Muscle_Seg.ObjectCentre = MWDATA{MuscleId,1}.MSCInfo.ObjectCentre;
+ Muscle_Seg.ObjectType = MWDATA{MuscleId,1}.MSCInfo.ObjectType;
+ Muscle_Seg.ObjectZaxis = MWDATA{MuscleId,1}.MSCInfo.ObjectZaxis;
+ Muscle_Seg.ObjectRef = MWDATA{MuscleId,1}.MSCInfo.ObjectRef;
+ Muscle_Seg.ObjectRadii = MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale*MWDATA{MuscleId,1}.MSCInfo.ObjectRadii;
+ Muscle_Seg.NbPlot = MWDATA{MuscleId,1}.MSCInfo.NbPlotPoints;
+
+ % Compute the Wrapping
+ WRDATA = MUSCLE_TOOL_compute_wrapping(BLDATA, Muscle_Seg);
+
+ % Fill The Length
+ Lmat(MuscleId, SegmentId) = 1.e-3*WRDATA.PathLength;
+
+
+ end
+ end
+
+
+ % Save the Muscle Forces
+ valueId = 1;
+ for MuscleId = 1:44
+ % Save the Scapulothoracic data
+ if MuscleId < 3
+
+ valueId = valueId + 1;
+ else
+ for SegmentId = 1:MWDATA{MuscleId-2, 1}.MSCInfo.NbSegments
+ MADATA{MuscleId-2, 1}.MuscleLength(TimeId,SegmentId) = Lmat(MuscleId-2, SegmentId);
+ valueId = valueId + 1;
+ end
+ end
+ end
+end
+
+SSDATA.L_mt.DANT_length(:,:) = [t; MADATA{20, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.DMED_length(:,:) = [t; MADATA{21, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.DPOS_length(:,:) = [t; MADATA{22, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TDES_length(:,:) = [t; MADATA{6, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TTRA_length(:,:) = [t; MADATA{7, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TASE_length(:,:) = [t; MADATA{8, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TERM_length(:,:) = [t; MADATA{27, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.PECT_length(:,:) = [t; MADATA{15, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.BICL_length(:,:) = [t; MADATA{33, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.BICS_length(:,:) = [t; MADATA{32, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TLOH_length(:,:) = [t; MADATA{29, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.TLAH_length(:,:) = [t; MADATA{31, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.BRAC_length(:,:) = [t; MADATA{34, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.FLCU_length(:,:) = [t; MADATA{39, 1}.MuscleLength(:,1)'];
+SSDATA.L_mt.INFS_length(:,:) = [t; MADATA{24, 1}.MuscleLength(:,1)'];
+
+return;
+
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_Load_EMG.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_Load_EMG.m
new file mode 100755
index 0000000..81baf0f
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_Load_EMG.m
@@ -0,0 +1,141 @@
+function SSDATA = ESTIMATION_TOOL_Load_EMG(ESGUIHandle, SSDATAin)
+%{
+Function to load/check EMG data.
+--------------------------------------------------------------------------
+Syntax :
+SSDATA = ESTIMATION_TOOL_Load_EMG(ESGUIHandle)
+--------------------------------------------------------------------------
+File Description :
+This function is the callback script to load the Masured
+EMG data. It allows the user to load the EMG data files and
+then it checks if the uploaded file has the required structure.
+--------------------------------------------------------------------------
+%}
+
+
+% ------------------------------------------------------------------------
+% let the user load the data
+% ------------------------------------------------------------------------
+% initialize the SSDATA
+SSDATA = SSDATAin;
+
+% define the initial folder (path) that the user can look for the file
+currentFile = get(ESGUIHandle.EMG_data.Text, 'String');
+ if (~isempty(currentFile))
+ % If a file was already loaded, start in that directory
+ startPath = fileparts(currentFile);
+ else
+ % Start in current directory
+ startPath = pwd;
+ end
+
+% open the getfile window and let the user choose only amongst the *.mat
+% files. In the next part we will check other requirements regarding the
+% chosen file
+[filename, modelPath] = uigetfile({'*.mat' 'MAT-file ';...
+ '*.mat' 'MAT file (*.mat)'},...
+ 'Select the EMG data file',startPath);
+
+% if the user chose a file
+if (filename ~= 0)
+ % if exist('filename')~=0
+ fullfileName = [modelPath filename];
+ SSDATA = check_the_EMG_file(SSDATA, ESGUIHandle, fullfileName);
+end
+
+% display a message for the user
+msgbox(['the EMG data is imported and saved in',...
+ 'SSDATA.EMG_data data structure'], 'Success');
+
+% set the final time of the motion time span as the maximum time of the EMG
+% so that the user will understand how far he/she can go for simulating the
+% motion
+if ~isempty(SSDATA.EMG_data)
+ set(ESGUIHandle.TimeFrameEdit,'string', num2str(SSDATA.EMG_data.DANT(4,end)));
+end
+
+return;
+
+% ------------------------------------------------------------------------
+% check the chosen kinematics file
+% ------------------------------------------------------------------------
+function SSDATA = check_the_EMG_file(SSDATAin, ESGUIHandle, fullfileName)
+
+% initialize the SSDATA
+SSDATA = SSDATAin;
+
+% use the chosen file path/name and show it in the textbox in the GUI page
+set(ESGUIHandle.EMG_data.Text, 'String', fullfileName);
+
+% specify the required data in the EMG file
+% 1) list of the required muscle EMG
+
+required_muscle_list = ['DANT';'DMED';'DPOS';'TDES';'TTRA';'TASE';'TERM';
+ 'PECT';'BICL';'BICS';'TLOH';'TLAH';'BRAC';
+ 'FLCU';'INFS']; % here is the full list of the landmarks that indeed here 'IJ';'PX';'T8';'C7';'SC';'AC';'GH';'HU';'TS';'AI';'AA';'EL';'EM';'CP';'US';'RS'
+ % NOTE: if the imported list has more landmarks than what it's specified
+ % it's not a problem. If, once I wanted to differentiate with that to
+ % force the accepting only the files with exact number and name of landmarks
+ % we have to first use fieldnames(filename) to have them in a cell array and
+ % then draw the parallel within the for loop as it is now. In otehr words,
+ % the eval only allows a whole to an invidual comparision not a one to one
+ % comparision.
+
+% make sure that a right file is chosen by the user
+[~, filename, ext] = fileparts(fullfileName); % returns the path, file name, and file name extension for the specified "filename"
+
+ if strcmp(ext,'.mat') % if the extension is mat then load it otherwise do nothing
+ load(fullfileName);
+
+ % Check whether the chosen file contains the required fields.
+ for muscle_check_id = 1:length(required_muscle_list)
+
+ if ~isfield(eval(filename),required_muscle_list(muscle_check_id,:))
+ fprintf('muscle %s was not found in the loaded data. \n Please try a different EMG data file and make sure it \n has the requirements mentioned in the help menu. \n', required_muscle_list(muscle_check_id,:));
+ %disp(['Bony landmark ''' required_landmarks_list(landmarks_check_id,:) ''' was not found in the loaded data',...
+ % '.\n Please try a different kinematic file after reading the file requirement from the help meneu']);
+ return;
+ end
+ end
+
+ SSDATA.EMG_data = eval(filename);
+ end
+
+
+return;
+
+
+
+
+% figure;
+%
+% for landmark_id = 2:length(Landmarks_Names)
+%
+% Landmarks_Coordinate = eval(['VICON.' Landmarks_Names{landmark_id} '(1000,:)']);
+%
+% hold on;
+%
+% plot3(Landmarks_Coordinate(1), Landmarks_Coordinate(2), Landmarks_Coordinate(3),...
+% 'color', 'black','linewidth', 2,'marker', 'o','markerfacecolor', 'red','markeredgecolor', 'red');
+%
+% text(Landmarks_Coordinate(1), Landmarks_Coordinate(2), Landmarks_Coordinate(3),...
+% Landmarks_Names{landmark_id},'color','b','fontsize',12,'fontweight','bold','HorizontalAlignment','left')
+%
+%
+% end
+% axis square
+
+
+% %%
+% % small for loop to make a desirable kinematics source file
+% required_landmarks_list = ['AJ';'PX';'T8';'C7';'SC';'AC';
+% 'AA';'EL';'EM';'US';'RS'];
+%
+% for landmarks_check_id = 1: length(required_landmarks_list)
+%
+% eval(['try1.' required_landmarks_list(landmarks_check_id,:) '=[];']);
+% end
+% save('/Users/ehsan/Desktop/try1.mat','try1');
+% %save('/Users/ehsan/Desktop/try1.mat','-struct','REDATA')
+% %
+% %
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m
new file mode 100755
index 0000000..8fb5294
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m
@@ -0,0 +1,28 @@
+PHIts(1,1) =(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs))^2/Cts^2 + (SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs))^2/Ats^2 + (SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs))^2/Bts^2 - 1;
+PHIai(1,1) =(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs))^2/Cai^2 + (SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs))^2/Aai^2 + (SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs))^2/Bai^2 - 1;
+dPHItsdq(1,1) =(2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2;
+dPHItsdq(1,2) =(2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2;
+dPHItsdq(1,3) =(2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2;
+dPHItsdq(1,4) =(2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2;
+dPHItsdq(1,5) =(2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2;
+dPHItsdq(1,6) =(2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2;
+dPHItsdq(1,7) =0;
+dPHItsdq(1,8) =0;
+dPHItsdq(1,9) =0;
+dPHItsdq(1,10) =0;
+dPHItsdq(1,11) =0;
+dPHIaidq(1,1) =(2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2;
+dPHIaidq(1,2) =(2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2;
+dPHIaidq(1,3) =(2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2;
+dPHIaidq(1,4) =(2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2;
+dPHIaidq(1,5) =(2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2;
+dPHIaidq(1,6) =(2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2;
+dPHIaidq(1,7) =0;
+dPHIaidq(1,8) =0;
+dPHIaidq(1,9) =0;
+dPHIaidq(1,10) =0;
+dPHIaidq(1,11) =0;
+dPHItsdt(1,1) =dys*((2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2) - dzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) + dxs*((2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2) + dyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2) - dzs*((2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) + dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2);
+dPHIaidt(1,1) =dxc*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) + dxs*((2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) - dzs*((2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) + dyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2) + dys*((2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2);
+ddPHItsdt(1,1) =ddys*((2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2) - dzs*(dys*((2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2 - (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dzs*((2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))^2)/Bts^2 + (2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs))^2)/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dzc*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2) + dxc*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2) + dyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2) - dxs*((2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2)) - dys*(dxc*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2) + dxs*((2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 - (2*(TSy*cos(xs)*cos(ys)*cos(zs) - TSz*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 - (2*(TSy*cos(xs)*cos(ys)*sin(zs) - TSz*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(TSy*cos(xs)*sin(ys) - TSz*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2) + dzs*((2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2 - (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dys*((2*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs))^2)/Bts^2 + (2*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys))^2)/Cts^2 + (2*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs))^2)/Ats^2 - (2*(TSz*cos(xs)*cos(ys) - TSx*sin(ys) + TSy*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 - (2*(TSx*cos(ys)*sin(zs) + TSz*cos(xs)*sin(ys)*sin(zs) + TSy*sin(xs)*sin(ys)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSx*cos(ys)*cos(zs) + TSz*cos(xs)*cos(zs)*sin(ys) + TSy*cos(zs)*sin(xs)*sin(ys))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2) - dyc*((2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2 + (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2) + dzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2)) - dxs*(dys*((2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 - (2*(TSy*cos(xs)*cos(ys)*cos(zs) - TSz*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 - (2*(TSy*cos(xs)*cos(ys)*sin(zs) - TSz*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(TSy*cos(xs)*sin(ys) - TSz*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2) - dxc*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs)))/Cts^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc))))/Ats^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc))))/Bts^2) + dzc*((2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bts^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Ats^2) - dxs*((2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))^2)/Ats^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))^2)/Bts^2 + (2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))^2)/Cts^2 + (2*(TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) - TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2) - dzs*((2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2) + dyc*((2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cts^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2)) - ddzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) + ddxs*((2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2) + ddyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2) + dyc*(dyc*((2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))^2)/Cts^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))^2)/Ats^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))^2)/Bts^2 - (2*(ACx*cos(yc)*cos(zc) + ACz*cos(xc)*cos(zc)*sin(yc) + ACy*cos(zc)*sin(xc)*sin(yc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACz*cos(xc)*cos(yc) - ACx*sin(yc) + ACy*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 - (2*(ACx*cos(yc)*sin(zc) + ACz*cos(xc)*sin(yc)*sin(zc) + ACy*sin(xc)*sin(yc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) + dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 + (2*(ACy*cos(xc)*cos(yc)*cos(zc) - ACz*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2 + (2*(ACy*cos(xc)*cos(yc)*sin(zc) - ACz*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACy*cos(xc)*sin(yc) - ACz*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 - (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cts^2) + dys*((2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2 + (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2) - dzs*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2) - dzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2 - (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2) - dxs*((2*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cts^2 - (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2)) - dzc*(dxs*((2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bts^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Ats^2) - dzc*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))^2)/Bts^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))^2)/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dzs*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2) + dxc*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bts^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) + dys*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2) + dyc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2 - (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2)) - ddzs*((2*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dxc*(dys*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(TSx*cos(ys) + TSz*cos(xs)*sin(ys) + TSy*sin(xs)*sin(ys)))/Cts^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(TSz*cos(xs)*cos(ys)*cos(zs) - TSx*cos(zs)*sin(ys) + TSy*cos(ys)*cos(zs)*sin(xs)))/Ats^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(TSz*cos(xs)*cos(ys)*sin(zs) - TSx*sin(ys)*sin(zs) + TSy*cos(ys)*sin(xs)*sin(zs)))/Bts^2) - dxs*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(TSy*cos(xs)*cos(ys) - TSz*cos(ys)*sin(xs)))/Cts^2 + (2*(TSy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + TSz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc))))/Ats^2 + (2*(TSy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc))))/Bts^2) - dyc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Ats^2 + (2*(ACy*cos(xc)*cos(yc)*cos(zc) - ACz*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bts^2 + (2*(ACy*cos(xc)*cos(yc)*sin(zc) - ACz*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACy*cos(xc)*sin(yc) - ACz*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2 - (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cts^2) + dzs*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSx*cos(ys)*cos(zs)))/Bts^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + TSx*cos(ys)*sin(zs)))/Ats^2) + dzc*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bts^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2) - dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))^2)/Ats^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))^2)/Bts^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))^2)/Cts^2 + (2*(ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) - ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 - (2*(ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2)) + ddxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - TSy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + TSz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + TSx*cos(ys)*cos(zs)))/Ats^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + TSy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - TSz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + TSx*cos(ys)*sin(zs)))/Bts^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - TSx*sin(ys) + ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc) + TSz*cos(xs)*cos(ys) + TSy*cos(ys)*sin(xs)))/Cts^2);
+ddPHIaidt(1,1) =dzc*(dzs*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2) + dzc*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))^2)/Bai^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))^2)/Aai^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) - dxs*((2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bai^2 + (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Aai^2) + dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bai^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Aai^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dys*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2) + dyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2)) + dzs*(dzc*((2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 + (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2) + dzs*((2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))^2)/Bai^2 + (2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs))^2)/Aai^2 - (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) - dxc*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2) - dyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 - (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2) + dxs*((2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 - (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 + (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) + dys*((2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 + (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2)) + ddxc*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) + dyc*(dys*((2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2) - dzs*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 - (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2) + dzc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2) - dxs*((2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2 - (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cai^2) + dyc*((2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))^2)/Cai^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))^2)/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))^2)/Bai^2 - (2*(ACx*cos(yc)*cos(zc) + ACz*cos(xc)*cos(zc)*sin(yc) + ACy*cos(zc)*sin(xc)*sin(yc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACz*cos(xc)*cos(yc) - ACx*sin(yc) + ACy*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACx*cos(yc)*sin(zc) + ACz*cos(xc)*sin(yc)*sin(zc) + ACy*sin(xc)*sin(yc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) + dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(ACy*cos(xc)*cos(yc)*sin(zc) - ACz*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACy*cos(xc)*sin(yc) - ACz*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2 - (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cai^2 + (2*(ACy*cos(xc)*cos(yc)*cos(zc) - ACz*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2)) + ddxs*((2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 + (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) + dys*(dyc*((2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2 + (2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2) - dzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2) + dzs*((2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 + (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2) - dxc*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2) + dys*((2*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys))^2)/Cai^2 + (2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))^2)/Aai^2 + (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))^2)/Bai^2 - (2*(AIx*cos(ys)*cos(zs) + AIz*cos(xs)*cos(zs)*sin(ys) + AIy*cos(zs)*sin(xs)*sin(ys))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIz*cos(xs)*cos(ys) - AIx*sin(ys) + AIy*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIx*cos(ys)*sin(zs) + AIz*cos(xs)*sin(ys)*sin(zs) + AIy*sin(xs)*sin(ys)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) + dxs*((2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(AIy*cos(xs)*cos(ys)*sin(zs) - AIz*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIy*cos(xs)*sin(ys) - AIz*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2 - (2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2 + (2*(AIy*cos(xs)*cos(ys)*cos(zs) - AIz*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2)) + dxc*(dxc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))^2)/Aai^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))^2)/Bai^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))^2)/Cai^2 - (2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACz*cos(xc)*cos(yc) + ACy*cos(yc)*sin(xc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 + (2*(ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) - ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dzs*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2) + dzc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bai^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Aai^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dys*((2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2 - (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2) + dxs*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs)))/Cai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys))))/Aai^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs))))/Bai^2) + dyc*((2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(ACy*cos(xc)*cos(yc)*sin(zc) - ACz*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACy*cos(xc)*sin(yc) - ACz*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2 - (2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cai^2 + (2*(ACy*cos(xc)*cos(yc)*cos(zc) - ACz*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2)) + dxs*(dxs*((2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))^2)/Aai^2 + (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))^2)/Bai^2 + (2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))^2)/Cai^2 - (2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIz*cos(xs)*cos(ys) + AIy*cos(ys)*sin(xs))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 + (2*(AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) - AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dzc*((2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc)))/Bai^2 + (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc)))/Aai^2) + dzs*((2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs)))/Bai^2 - (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs)))/Aai^2 + (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2) - dyc*((2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc)))/Bai^2 - (2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc)))/Aai^2 + (2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc)))/Cai^2) + dxc*((2*(ACy*cos(xc)*cos(yc) - ACz*cos(yc)*sin(xc))*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs)))/Cai^2 + (2*(ACy*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) + ACz*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)))*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys))))/Aai^2 + (2*(ACy*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACz*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)))*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs))))/Bai^2) + dys*((2*(AIy*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + AIz*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)))*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs)))/Aai^2 + (2*(AIy*cos(xs)*cos(ys)*sin(zs) - AIz*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIy*cos(xs)*sin(ys) - AIz*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2 - (2*(AIy*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIz*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)))*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs)))/Bai^2 - (2*(AIy*cos(xs)*cos(ys) - AIz*cos(ys)*sin(xs))*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys)))/Cai^2 + (2*(AIy*cos(xs)*cos(ys)*cos(zs) - AIz*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2)) - ddzc*((2*(ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + ACx*cos(yc)*sin(zc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACx*cos(yc)*cos(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) - ddzs*((2*(AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + AIx*cos(ys)*sin(zs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 - (2*(AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIx*cos(ys)*cos(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2) + ddyc*((2*(ACz*cos(xc)*cos(yc)*cos(zc) - ACx*cos(zc)*sin(yc) + ACy*cos(yc)*cos(zc)*sin(xc))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(ACz*cos(xc)*cos(yc)*sin(zc) - ACx*sin(yc)*sin(zc) + ACy*cos(yc)*sin(xc)*sin(zc))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(ACx*cos(yc) + ACz*cos(xc)*sin(yc) + ACy*sin(xc)*sin(yc))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2) + ddys*((2*(AIz*cos(xs)*cos(ys)*cos(zs) - AIx*cos(zs)*sin(ys) + AIy*cos(ys)*cos(zs)*sin(xs))*(SCx - OEx - ACy*(cos(xc)*sin(zc) - cos(zc)*sin(xc)*sin(yc)) + ACz*(sin(xc)*sin(zc) + cos(xc)*cos(zc)*sin(yc)) - AIy*(cos(xs)*sin(zs) - cos(zs)*sin(xs)*sin(ys)) + AIz*(sin(xs)*sin(zs) + cos(xs)*cos(zs)*sin(ys)) + ACx*cos(yc)*cos(zc) + AIx*cos(ys)*cos(zs)))/Aai^2 + (2*(AIz*cos(xs)*cos(ys)*sin(zs) - AIx*sin(ys)*sin(zs) + AIy*cos(ys)*sin(xs)*sin(zs))*(SCy - OEy + ACy*(cos(xc)*cos(zc) + sin(xc)*sin(yc)*sin(zc)) - ACz*(cos(zc)*sin(xc) - cos(xc)*sin(yc)*sin(zc)) + AIy*(cos(xs)*cos(zs) + sin(xs)*sin(ys)*sin(zs)) - AIz*(cos(zs)*sin(xs) - cos(xs)*sin(ys)*sin(zs)) + ACx*cos(yc)*sin(zc) + AIx*cos(ys)*sin(zs)))/Bai^2 - (2*(AIx*cos(ys) + AIz*cos(xs)*sin(ys) + AIy*sin(xs)*sin(ys))*(SCz - OEz - ACx*sin(yc) - AIx*sin(ys) + ACz*cos(xc)*cos(yc) + AIz*cos(xs)*cos(ys) + ACy*cos(yc)*sin(xc) + AIy*cos(ys)*sin(xs)))/Cai^2);
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_estimate_forces.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_estimate_forces.m
new file mode 100755
index 0000000..c6d72d4
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_estimate_forces.m
@@ -0,0 +1,292 @@
+function [EFDATA, JRDATA, MADATA, SSDATA] = ESTIMATION_TOOL_estimate_forces(ESGUIHandle, MWDATA, REDATA, BLDATA, KEDATA, DYDATA, SSDATA)
+%{
+Function for running the muscle force estimation routine.
+--------------------------------------------------------------------------
+Syntax :
+[EFDATA, JRDATA, MADATA] = ESTIMATION_TOOL_estimate_forces(ESGUIHandle, MWDATA, REDATA, BLDATA, KEDATA, DYDATA)
+--------------------------------------------------------------------------
+Function Description :
+This function computes the moment-arms, muscle forces, joint reaction
+forces and scapulothoracic forces.
+The Output Data Structure is defined as follows:
+
+ EFDATA{MuscleId, 1} Estimated forces (muscles and constraints)
+ JRDATA = n x 7 Joint reaction, including the vector, its magnitude,
+ and the locus of the force projection on the fossa
+ MADATA Moment arms data
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+EFDATA = cell(45,1);
+JRDATA = zeros(size(KEDATA.Joint_Angle_Evolution,2),8);
+
+% Each element in the cell will contain an Nx15 matrix
+for MuscleId = 1:44
+ EFDATA{MuscleId, 1}.MomentArms = cell(1,20);
+ for SegmentId = 1:20
+ EFDATA{MuscleId, 1}.Forces(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ EFDATA{MuscleId, 1}.ForcesMAx(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ EFDATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain a 9 x N matrix
+for MuscleId = 1:42
+ MADATA{MuscleId, 1}.MomentArms = cell(1,20);
+ MADATA{MuscleId, 1}.FDirection = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane = cell(1,20);
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.ScapularPlane {1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+%--------------------------------------------------------------------------
+% Get the UIcontrol Options
+%--------------------------------------------------------------------------
+ESTDATA.Tmax = str2double(get(ESGUIHandle.TimeFrameEdit, 'string'));
+DYDATA.MHand = str2double(get(ESGUIHandle.HandWeightEdit, 'string'));
+%ESTDATA.FmaxOption = get(ESGUIHandle.MenuOptions(2,3), 'checked');
+ESTDATA.FmaxOption = 'off';
+ESTDATA.RconOption = get(ESGUIHandle.MenuOptions(2,2), 'checked');
+ESTDATA.EmgOption = get(ESGUIHandle.MenuOptions(2,3), 'checked'); % get the EMG-assisted option
+ESTDATA.MeasKinOption = get(ESGUIHandle.MenuOptions(2,4), 'checked'); % whether or not to use the measured kinematics
+
+% This Data Structure will also contain the current moment arm matrix,
+% Force Direction matrix and Muscle Length Vector
+ESTDATA.Moment_Arm_Matrix = [];
+ESTDATA.Force_Direction_Matrix = [];
+ESTDATA.Muscle_Length = [];
+
+%--------------------------------------------------------------------------
+% Define Angles, Velocities, & Accelerations
+%--------------------------------------------------------------------------
+% first chose among the two available options for the kinematics
+
+if isequal(ESTDATA.MeasKinOption, 'off')
+ % Create the Time
+ t = linspace(0,ESTDATA.Tmax,size(KEDATA.Joint_Angle_Evolution,2));
+ % Pre-Define the Joint Angles, Velocities, and Accelerations
+ JEA = KEDATA.Joint_Angle_Evolution;
+ dJEAdt = [];
+ d2JEAdt2 = [];
+ for TimeId = 1:size(t,2)-1
+ % Velocity
+ dJEAdt = [dJEAdt, (JEA(:,TimeId+1) - JEA(:,TimeId))/(t(TimeId+1) - t(TimeId))];
+
+ if TimeId < size(t,2)-1
+ % Acceleration
+ d2JEAdt2 = [d2JEAdt2, (JEA(:,TimeId+2) - 2*JEA(:,TimeId+1) + JEA(:,TimeId))/((t(TimeId+2) - t(TimeId+1))*(t(TimeId+1) - t(TimeId)))];
+ end
+ end
+else
+ % option 1: use the joint angles acieved directly from the IK
+ JEA = SSDATA.Joint_Angle_Reconstruction;
+ t = linspace(0,ESTDATA.Tmax,length(SSDATA.Joint_Angle_Reconstruction));
+ dJEAdt = [];
+ d2JEAdt2 = [];
+ for TimeId = 1:length(t)-1
+ dJEAdt = [dJEAdt, (JEA(:,TimeId+1) - JEA(:,TimeId))/(t(TimeId+1) - t(TimeId))];
+ if TimeId < length(t)-1
+ % Acceleration
+ d2JEAdt2 = [d2JEAdt2, (JEA(:,TimeId+2) - 2*JEA(:,TimeId+1) + JEA(:,TimeId))/((t(TimeId+2) - t(TimeId+1))*(t(TimeId+1) - t(TimeId)))];
+ end
+ end
+
+ % the clavicle axial rotation is always noisy
+ dJEAdt(1,:) = polyval(SSDATA.Joint_Velocity_Coefficients(1, :), t(1, 1:end-1));
+ d2JEAdt2(1,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(1, :), t(1, 1:end-2));
+
+ % option 2: use the smoothened joint angles from IK
+% t = linspace(0,ESTDATA.Tmax,100);
+% for ja_id = 1:11
+% JEA(ja_id,:) = polyval(SSDATA.Joint_Angle_Coefficients(ja_id,:),t);
+% dJEAdt(ja_id,:) = polyval(SSDATA.Joint_Velocity_Coefficients(ja_id,:),t);
+% d2JEAdt2(ja_id,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(ja_id,:),t);
+% end
+% SSDATA.Smoothened_Joint_Angle_Reconstruction = JEA;
+end
+
+%--------------------------------------------------------------------------
+% ESTIMATE FORCES OVER ENTIRE MOTION
+%--------------------------------------------------------------------------
+for TimeId = 1:size(d2JEAdt2,2)
+ % Display
+% disp(['Estimating Muscle Forces, Time Stamp : ', num2str(TimeId), '/', num2str(size(KEDATA.Joint_Angle_Evolution,2))]);
+ disp(['Estimating Muscle Forces, Time Stamp : ', num2str(TimeId), '/', num2str(size(d2JEAdt2,2))]);
+
+ % Get the Current Rotation Matrices
+ %Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,TimeId), BLDATA);
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', JEA(:,TimeId), BLDATA);
+
+ % Update the current configuration
+ BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ % Set the Dynamic Dataset entries
+ DYDATA.JEA = JEA(:,TimeId);
+ DYDATA.dJEAdt = dJEAdt(:,TimeId);
+ DYDATA.d2JEAdt2 = d2JEAdt2(:,TimeId);
+
+ %----------------------------------------------------------------------
+ % MOMENT ARMS & FORCE DIRECTIONS : GEOMETRIC METHOD FOR EACH MUSCLE
+ %----------------------------------------------------------------------
+ % Pre-define Moment Arm Matrix
+ Wmat = [];
+ Dmat = [];
+ Lmat = zeros(42,20);
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ % Construct a One-Time Muscle Structure for a single segment
+ Muscle_Seg.Origin = MWDATA{MuscleId,1}.Origin{1,SegmentId};
+ Muscle_Seg.ViaA = MWDATA{MuscleId,1}.ViaA{1,SegmentId};
+ Muscle_Seg.ViaB = MWDATA{MuscleId,1}.ViaB{1,SegmentId};
+ Muscle_Seg.Insertion = MWDATA{MuscleId,1}.Insertion{1,SegmentId};
+ Muscle_Seg.OriginRef = MWDATA{MuscleId,1}.MSCInfo.OriginRef;
+ Muscle_Seg.ViaARef = MWDATA{MuscleId,1}.MSCInfo.ViaARef;
+ Muscle_Seg.ViaBRef = MWDATA{MuscleId,1}.MSCInfo.ViaBRef;
+ Muscle_Seg.InsertionRef = MWDATA{MuscleId,1}.MSCInfo.InsertionRef;
+ Muscle_Seg.ObjectCentre = MWDATA{MuscleId,1}.MSCInfo.ObjectCentre;
+ Muscle_Seg.ObjectType = MWDATA{MuscleId,1}.MSCInfo.ObjectType;
+ Muscle_Seg.ObjectZaxis = MWDATA{MuscleId,1}.MSCInfo.ObjectZaxis;
+ Muscle_Seg.ObjectRef = MWDATA{MuscleId,1}.MSCInfo.ObjectRef;
+ Muscle_Seg.ObjectRadii = MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale*MWDATA{MuscleId,1}.MSCInfo.ObjectRadii;
+ Muscle_Seg.NbPlot = MWDATA{MuscleId,1}.MSCInfo.NbPlotPoints;
+
+ % Compute the Wrapping
+ WRDATA = MUSCLE_TOOL_compute_wrapping(BLDATA, Muscle_Seg);
+
+ % Compute the moment arms using the geometric method
+ [MAi, DVi] = MOMENT_ARM_TOOL_compute_moment_arms(WRDATA.PathPoints, WRDATA.PathRefList, BLDATA);
+
+ % Save the Moment Arms
+ MADATA{MuscleId, SegmentId}.geometric(TimeId, :) = MAi';
+
+ % Fill The matrix
+ Wmat = [Wmat, MAi];
+
+ % Fill The Length
+ Lmat(MuscleId, SegmentId) = 1.e-3*WRDATA.PathLength;
+
+ %{
+ % If the muscle inserts on the humerus, use the DVi
+ if WRDATA.PathRefList(1,end) == 3
+ % Augment the force direction vector
+ Dmat = [Dmat, DVi];
+ else
+ Dmat = [Dmat, zeros(3,1)];
+ end
+ %}
+
+ % Augment the force direction vector
+ Dmat = [Dmat, DVi];
+ end
+ end
+
+ % Set the New Current Estimation Data
+ ESTDATA.Moment_Arm_Matrix = Wmat; % 15xnumber of muscles (segments)
+ ESTDATA.Force_Direction_Matrix = Dmat; % 15xnumber of muscles (segments)
+ ESTDATA.Muscle_Length = Lmat;
+
+ %----------------------------------------------------------------------
+ % ESTIMATE THE FORCES
+ %----------------------------------------------------------------------
+ FDATA = ESTIMATION_TOOL_run_optimisation(t(TimeId), ESTDATA, DYDATA, MWDATA, BLDATA, REDATA, SSDATA);
+
+ % Save the Joint Reaction Force
+ JRDATA(TimeId, 1:4) = FDATA.JointReact;
+
+ % Save the HU Joint Reaction Force
+ JRDATA(TimeId, 9:12) = FDATA.HUJointReact;
+
+ % Save the RU Joint Reaction Force
+ JRDATA(TimeId, 13:16) = FDATA.RUJointReact;
+
+ Exit_flag(TimeId) = FDATA.Exitflag;
+% % update the cone rotation matrix according to the glenoid orientations
+% % data from the subject specific toolbox
+% % 1) inclination
+% Inc = BLDATA.Glenoid_Orientations(1);
+% % 2) version (shown by declination)
+% Dec = BLDATA.Glenoid_Orientations(2);
+%
+% % get the generic values for inclination and version
+% Inc0 = BLDATA.Glenoid_Orientations_Unchanged(1);
+% Dec0 = BLDATA.Glenoid_Orientations_Unchanged(2);
+%
+% % define the rotational operator to rotate the cone base center in the cone
+% % frame by the given values for inclination and version (note that it's an
+% % operator and therefore a transpose of a rotation matrix)
+% R_opt = [cosd(Dec-Dec0) -sind(Dec-Dec0) 0;sind(Dec-Dec0) cosd(Dec-Dec0) 0;0 0 1]*...
+% [cosd(Inc-Inc0) 0 sind(Inc-Inc0);0 1 0;-sind(Inc-Inc0) 0 cosd(Inc-Inc0)];
+
+ % Compute the Glenoid Projection
+ % Compute Force Diretion In Glenoid Ref & Noramilze
+ v = ((BLDATA.Current_Matrices_L2A.Rs*BLDATA.Initial_Matrices_L2A.Rs'*DYDATA.Cone_Rb)'*FDATA.JointReact(1,1:3)')';
+ % v = ((BLDATA.Current_Matrices_L2A.Rs*BLDATA.Initial_Matrices_L2A.Rs'*New_Cone_Rb)'*FDATA.JointReact(1,1:3)')';
+ % v = (R_opt'*v')'; % define the v in the rotated fossa according to the subject-specific data
+ v = v/norm(v);
+
+ % Center of Glenoid with respect to GH joint
+ C = DYDATA.Cone_Rb'*DYDATA.ConeCentre; % this point is the same in the rotated frame as well, it's on the negative x axis anyway
+
+ % To obtain the projection onto the glenoid, Line-Plane Intersection
+ %
+ % Equation To Solve : d * m = C + a * n1 + b * n2
+ %
+ % The idea is to find a and b which are the coordinates of the
+ % projection onto the glenoid plane
+ m = v;
+ n1 = [0; 1; 0];
+ n2 = [0; 0; 1];
+
+ % Compute & Save the Projection of the Reaction Force Direction
+ JRDATA(TimeId, 5:7) = (inv([-m', n1, n2])*(-C))';
+
+ % Define the stability ratio
+ % define the stability ratio 1 (-1 1) --> it distinguishes between points
+ % on the boundary even
+ % alpha_IS = atan(DYDATA.ConeDimensions(1,2)/norm(DYDATA.ConeCentre));
+ % alpha_PA = atan(DYDATA.ConeDimensions(1,1)/norm(DYDATA.ConeCentre));
+ % alpha_is = atan(JRDATA(TimeId,7)/norm(DYDATA.ConeCentre));
+ % alpha_pa = atan(JRDATA(TimeId,6)/norm(DYDATA.ConeCentre));
+ % JRDATA(TimeId, 8) = 1-((alpha_is/alpha_IS)^2 + (alpha_pa/alpha_PA)^2);
+
+ % define the stability ratio 2 (0 1) --> all the points on the boundary
+ % have 0 stability ratio here
+ JRDATA(TimeId, 8) = 1-((JRDATA(TimeId,7)/DYDATA.ConeDimensions(1,2))^2 + (JRDATA(TimeId,6)/DYDATA.ConeDimensions(1,1))^2);
+
+ % Save the Muscle Forces
+ valueId = 1;
+ for MuscleId = 1:44
+ % Save the Scapulothoracic data
+ if MuscleId < 3
+ EFDATA{MuscleId, 1}.Forces(TimeId,1) = FDATA.Force(valueId, 1);
+ EFDATA{MuscleId, 1}.ForcesMax(TimeId,1) = FDATA.ForceMax(valueId, 1);
+ valueId = valueId + 1;
+ else
+ for SegmentId = 1:MWDATA{MuscleId-2, 1}.MSCInfo.NbSegments
+ EFDATA{MuscleId, 1}.Forces(TimeId,SegmentId) = FDATA.Force(valueId, 1);
+ EFDATA{MuscleId, 1}.ForcesMax(TimeId,SegmentId) = FDATA.ForceMax(valueId, 1);
+ MADATA{MuscleId-2, 1}.MomentArms{1,SegmentId}(TimeId, :) = Wmat(:,valueId-2)';
+ MADATA{MuscleId-2, 1}.FDirection{1,SegmentId}(TimeId, :) = Dmat(:,valueId-2)';
+ MADATA{MuscleId-2, 1}.MuscleLength(TimeId,SegmentId) = Lmat(MuscleId-2, SegmentId);
+ MADATA{MuscleId-2, 1}.ScapularPlane_GnP{1,SegmentId}(TimeId, :) = [Wmat(1:6,valueId-2); BLDATA.Current_GnP.Rs'*Wmat(7:9,valueId-2); Wmat(10:15,valueId-2)]';
+ MADATA{MuscleId-2, 1}.ScapularPlane{1,SegmentId}(TimeId, :) = [Wmat(1:6,valueId-2); BLDATA.Current_Matrices_L2A.Rs'*Wmat(7:9,valueId-2); Wmat(10:15,valueId-2)]';
+ valueId = valueId + 1;
+ end
+ end
+ end
+end
+
+% to give an annouce to the user about the performance of the load-sharing
+EFDATA{45, 1} = Exit_flag;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_get_dynamics.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_get_dynamics.m
new file mode 100755
index 0000000..f06df9e
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_get_dynamics.m
@@ -0,0 +1,151 @@
+function [MDYN, RHS, PHI, dPHIdq, TPmat, ACGh, ACGu, ACGr, FDYN, FDYN_u, FDYN_r] = ESTIMATION_TOOL_get_dynamics(DYDATA,BLDATA)
+
+% Get the Joint Angles
+xc = DYDATA.JEA(1,1);
+yc = DYDATA.JEA(2,1);
+zc = DYDATA.JEA(3,1);
+xs = DYDATA.JEA(4,1);
+ys = DYDATA.JEA(5,1);
+zs = DYDATA.JEA(6,1);
+zh = DYDATA.JEA(7,1);
+yh = DYDATA.JEA(8,1);
+zzh = DYDATA.JEA(9,1);
+xu = DYDATA.JEA(10,1);
+zr = DYDATA.JEA(11,1);
+
+% Get the Joint Angular Velocities
+dxc = DYDATA.dJEAdt(1,1);
+dyc = DYDATA.dJEAdt(2,1);
+dzc = DYDATA.dJEAdt(3,1);
+dxs = DYDATA.dJEAdt(4,1);
+dys = DYDATA.dJEAdt(5,1);
+dzs = DYDATA.dJEAdt(6,1);
+dzh = DYDATA.dJEAdt(7,1);
+dyh = DYDATA.dJEAdt(8,1);
+dzzh = DYDATA.dJEAdt(9,1);
+dxu = DYDATA.dJEAdt(10,1);
+dzr = DYDATA.dJEAdt(11,1);
+
+% Get the Joint Angular Accelerations
+ddxc = DYDATA.d2JEAdt2(1,1);
+ddyc = DYDATA.d2JEAdt2(2,1);
+ddzc = DYDATA.d2JEAdt2(3,1);
+ddxs = DYDATA.d2JEAdt2(4,1);
+ddys = DYDATA.d2JEAdt2(5,1);
+ddzs = DYDATA.d2JEAdt2(6,1);
+ddzh = DYDATA.d2JEAdt2(7,1);
+ddyh = DYDATA.d2JEAdt2(8,1);
+ddzzh = DYDATA.d2JEAdt2(9,1);
+ddxu = DYDATA.d2JEAdt2(10,1);
+ddzr = DYDATA.d2JEAdt2(11,1);
+
+% Convert all to meters
+SCx = DYDATA.SC(1)/1000; SCy = DYDATA.SC(2)/1000; SCz = DYDATA.SC(3)/1000;
+ACx = DYDATA.AC(1)/1000; ACy = DYDATA.AC(2)/1000; ACz = DYDATA.AC(3)/1000;
+AAx = DYDATA.AA(1)/1000; AAy = DYDATA.AA(2)/1000; AAz = DYDATA.AA(3)/1000;
+TSx = DYDATA.TS(1)/1000; TSy = DYDATA.TS(2)/1000; TSz = DYDATA.TS(3)/1000;
+AIx = DYDATA.AI(1)/1000; AIy = DYDATA.AI(2)/1000; AIz = DYDATA.AI(3)/1000;
+GHx = DYDATA.GH(1)/1000; GHy = DYDATA.GH(2)/1000; GHz = DYDATA.GH(3)/1000;
+HUx = DYDATA.HU(1)/1000; HUy = DYDATA.HU(2)/1000; HUz = DYDATA.HU(3)/1000;
+USx = DYDATA.US(1)/1000; USy = DYDATA.US(2)/1000; USz = DYDATA.US(3)/1000;
+CPx = DYDATA.CP(1)/1000; CPy = DYDATA.CP(2)/1000; CPz = DYDATA.CP(3)/1000;
+RSx = DYDATA.RS(1)/1000; RSy = DYDATA.RS(2)/1000; RSz = DYDATA.RS(3)/1000;
+OEx = DYDATA.OE(1)/1000; OEy = DYDATA.OE(2)/1000; OEz = DYDATA.OE(3)/1000;
+Ats = DYDATA.AE(1,1)/1000; Bts = DYDATA.AE(2,1)/1000; Cts = DYDATA.AE(3,1)/1000;
+Aai = DYDATA.AE(1,2)/1000; Bai = DYDATA.AE(2,2)/1000; Cai = DYDATA.AE(3,2)/1000;
+
+% Earth's Gravitational Constant
+g = DYDATA.Inertia(7,1);
+
+Mc = DYDATA.Inertia(1,1);
+Ms = DYDATA.Inertia(1,2);
+Mh = DYDATA.Inertia(1,3);
+M_u = DYDATA.Inertia(1,4);
+Mr = DYDATA.Inertia(1,5) + DYDATA.MHand; % plus the weight carried in hand
+
+Ict = DYDATA.Inertia(2,1); Icl = DYDATA.Inertia(2,2);
+Ist = DYDATA.Inertia(3,1); Isl = DYDATA.Inertia(3,2);
+Iht = DYDATA.Inertia(4,1); Ihl = DYDATA.Inertia(4,2);
+Iut = DYDATA.Inertia(5,1); Iul = DYDATA.Inertia(5,2);
+
+% Radius inertia with correction due to the weight in carried in hand
+Irt = DYDATA.Inertia(6,1) + DYDATA.MHand*DYDATA.LHand^2;
+Irl = DYDATA.Inertia(6,2) + DYDATA.MHand*(2.5e-2)^2;
+
+% Load the constraints and dynamics
+ESTIMATION_TOOL_constraints_file;
+ESTIMATION_TOOL_dynamics_file;
+ESTIMATION_TOOL_acceleration_file;
+
+PHI = [PHIts; PHIai];
+dPHIdq = [dPHItsdq', dPHIaidq'];
+
+% Projection Matrices
+Pc = [cos(zc)*cos(yc), -sin(zc), 0;
+ sin(zc)*cos(yc), cos(zc), 0;
+ -sin(yc), 0, 1];
+
+Ps = [cos(zs)*cos(ys), -sin(zs), 0;
+ sin(zs)*cos(ys), cos(zs), 0;
+ -sin(ys), 0, 1];
+
+Ph = [cos(zzh)*sin(yh), -sin(zzh), 0;
+ sin(zzh)*sin(yh), cos(zzh), 0;
+ cos(yh), 0, 1];
+
+Rhz = [cos(zh), -sin(zh), 0;
+ sin(zh), cos(zh), 0;
+ 0, 0, 1];
+
+Rhy = [cos(yh), 0, -sin(yh);
+ 0, 1, 0;
+ sin(yh), 0, cos(yh)];
+
+Rhzz = [cos(zzh), -sin(zzh), 0;
+ sin(zzh), cos(zzh), 0;
+ 0, 0, 1];
+
+Rh = Rhzz*Rhy'*Rhz; %humerus rotation matrix
+
+Rux = [1, 0, 0;
+ 0, cos(xu), -sin(xu);
+ 0, sin(xu), cos(xu)]; % ulna to the proximal segment (humerus)
+
+Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+%Ru = Rh*Rux; % ulna to the inertial frame (thorax)
+Ru = Rh*Ru_h*Rux; % ulna to the inertial frame (thorax)
+
+Pu = Ru(:,1);
+
+Rrz = [cos(zr), -sin(zr), 0;
+ sin(zr), cos(zr), 0;
+ 0, 0, 1]; % radius to the proximal segment (ulna)
+
+Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+Rr = Ru*Rr_u*Rrz; % radius to the inertial frame (thorax)
+
+%Rr = Ru*Rrz; % radius to the inertial frame (thorax)
+
+Pr = Rr(:,3); % psir performs around the z axis of the
+ % radius fixed-body frame.
+
+% Construction of Total Projection Matrix
+TPmat = [Pc', zeros(3,12);
+ zeros(3,3), Ps', zeros(3,9);
+ zeros(3,6), Ph', zeros(3,6);
+ zeros(1,9), Pu', zeros(1,3);
+ zeros(1,12) , Pr'];
+
+% Dynamic Force to calculate the GH joint reaction force
+FDYN = Mh*ACGh + Mh*[0; 0; g] + M_u*ACGu + M_u*[0; 0; g] + Mr*ACGr + Mr*[0; 0; g];
+
+% Dynamic Force to calculate the HU joint reaction force
+FDYN_u = M_u*ACGu + M_u*[0; 0; g] + Mr*ACGr + Mr*[0; 0; g];
+
+% Dynamic Force to calculate the RU joint reaction force
+FDYN_r = Mr*ACGr + Mr*[0; 0; g];
+
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_glenoid_cone_make.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_glenoid_cone_make.m
new file mode 100755
index 0000000..4aae832
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_glenoid_cone_make.m
@@ -0,0 +1,93 @@
+function Nout = ESTIMATION_TOOL_glenoid_cone_make(DYDATA, BLDATA)
+%{
+Function for building the glenoid stability cone constraint
+--------------------------------------------------------------------------
+Syntax :
+Nout = ESTIMATION_TOOL_glenoid_cone_make(DYDATA, BLDATA)
+--------------------------------------------------------------------------
+
+File description :
+This function builds the glenoid joint stability cone to keep the joint
+reaction force inside the glenoid. The Cone data is all statically
+defined in the thorax reference system and stored in the DYDATA
+structutre. This function simply rotates the constraints into the correct
+position.
+
+--------------------------------------------------------------------------
+%}
+
+% Initialise the output
+Nout = zeros(DYDATA.NbConstraints,3);
+
+% define the generic glenoid fossa
+C = DYDATA.Cone_Rb'*DYDATA.ConeCentre; % cone base center in cone frame in the generic model
+
+theta = linspace(0, 2*pi, DYDATA.NbConstraints);
+
+P = [zeros(1,DYDATA.NbConstraints)+C(1);
+ DYDATA.ConeDimensions(1)*cos(theta)+C(2);
+ DYDATA.ConeDimensions(2)*sin(theta)+C(3)]; % fossa points in cone frame in the generic model
+
+% % update the cone rotation matrix according to the glenoid orientations
+% % data from the subject specific toolbox
+% % 1) inclination
+% Inc = BLDATA.Glenoid_Orientations(1);
+% % 2) version (shown by declination)
+% Dec = BLDATA.Glenoid_Orientations(2);
+%
+% % get the generic values for inclination and version
+% Inc0 = BLDATA.Glenoid_Orientations_Unchanged(1);
+% Dec0 = BLDATA.Glenoid_Orientations_Unchanged(2);
+%
+% % define the rotational operator to rotate the cone base center in the cone
+% % frame by the given values for inclination and version (note that it's an
+% % operator and therefore a transpose of a rotation matrix)
+% R_opt = [cosd(Dec-Dec0) -sind(Dec-Dec0) 0;sind(Dec-Dec0) cosd(Dec-Dec0) 0;0 0 1]*...
+% [cosd(Inc-Inc0) 0 sind(Inc-Inc0);0 1 0;-sind(Inc-Inc0) 0 cosd(Inc-Inc0)];
+
+% Get initial and current scapula rotation matrices
+Rs0 = BLDATA.Initial_Matrices_L2A.Rs;
+Rs = BLDATA.Current_Matrices_L2A.Rs;
+
+
+% Build the normal vectors
+for i = 1:size(Nout,1)
+ % first make the normal vectors for the generic model
+ % points on the fossa for the generic model in the cone frame
+ C1 = C(1);
+ y = P(2,i);
+ z = P(3,i);
+
+ % old method (the same but more calculations are required on paper)
+ %dxdy = -(C1^2*y)/(DYDATA.ConeDimensions(1)^2*((C1^2*y^2)/DYDATA.ConeDimensions(1)^2 + (C1^2*z^2)/DYDATA.ConeDimensions(2)^2)^(1/2)); % the minus is due to the position of C_x that is defined as ((C1^2*y^2)/DYDATA.ConeDimensions(1)^2 + (C1^2*z^2)/DYDATA.ConeDimensions(2)^2)^(1/2) however we could have just put C1 here and it's fine. For the details I have the derivations and one can see them.
+ %dxdz = -(C1^2*z)/(DYDATA.ConeDimensions(2)^2*((C1^2*y^2)/DYDATA.ConeDimensions(1)^2 + (C1^2*z^2)/DYDATA.ConeDimensions(2)^2)^(1/2));
+
+ % define the normals using the gradiant of
+ % f: y^2/a_y^2 + z^2/a_z^2 - x^2/h^2 = 0
+ dfdx = 2*C1/(C1^2);
+ dfdy = 2*y/(DYDATA.ConeDimensions(1)^2);
+ dfdz = 2*z/(DYDATA.ConeDimensions(2)^2);
+
+ % Compute the Normal Vector in Absolute reference frame for the subject
+ % specific model. R_opt rotate the normal vectors to fit the rotated
+ % fossa of the subject-specific model
+ %Nout(i,:) =(Rs*Rs0'*DYDATA.Cone_Rb*R_opt*[dfdx; dfdy; dfdz]/norm([dfdx; dfdy; dfdz]))';
+
+ Nout(i,:) =(Rs*Rs0'*DYDATA.Cone_Rb*[dfdx; dfdy; dfdz]/norm([dfdx; dfdy; dfdz]))';
+
+ % few lines of code to illustrate first the normal vectors and then the
+ % cone itself. Uncomment if you want to see them
+ %{
+ fossa_points = 1e3*DYDATA.Cone_Rb*R_opt*P(:,i) + BLDATA.Initial_Points.GH; % points on the fossa (cone base)
+ hold on
+ plot3([fossa_points(1) Nout(i,1)*1e3], [fossa_points(2) Nout(i,2)*1e3], [fossa_points(3) Nout(i,3)*1e3],'-o','color','b','linewidth',2,'markersize',6,'markerfacecolor','w')
+ plot3([fossa_points(1) BLDATA.Initial_Points.GH(1)], [fossa_points(2) BLDATA.Initial_Points.GH(2)], [fossa_points(3) BLDATA.Initial_Points.GH(3)],'-o','color','b','linewidth',2,'markersize',6,'markerfacecolor','w')
+ %}
+end
+
+
+return;
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_main_file.m
new file mode 100755
index 0000000..c4b12b8
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_main_file.m
@@ -0,0 +1,798 @@
+%{
+--------------------------------------------------------------------------
+GUI FOR RUNNING THE MUSCLE FORCE ESTIMATION TOOL
+
+--------------------------------------------------------------------------
+File Description :
+This file creates the force estimation GUI. Allows one to compute and
+view the estimated forces and to save the data to .mat files.
+--------------------------------------------------------------------------
+File Structure :
+The GUI figure is created in ESHandle. The pushbuttons are defined next,
+followed by the initialisation script. All the GUI control structures are
+contained in ESGUIHandle. The axis is called EstimateVisualisationAxes.
+All the graphics are contained in a single strucure : ESPlotHandles.
+--------------------------------------------------------------------------
+Contents of the Interactive GUI structure :
+ ESGUIHandle.Close_Button
+ ESGUIHandle.Save_Button
+ ESGUIHandle.Update_Button
+ ESGUIHandle.Estimate_Button
+
+UI menu for selecting the muscle forces to be visualised
+ ESGUIHandle.Muscle_Vis_Menu.MainList
+ ESGUIHandle.Muscle_Vis_Menu.Options
+
+UIcontrol for selecting certain options
+ ESGUIHandle.TimeFrameTxt
+ ESGUIHandle.TimeFrameEdit
+ ESGUIHandle.TimeFrameTxt2
+ ESGUIHandle.HandWeightTxt
+ ESGUIHandle.HandWeightEdit
+ ESGUIHandle.HandWeightTxt2
+ ESGUIHandle.DynForceButton
+ ESGUIHandle.ReactForceButton
+
+--------------------------------------------------------------------------
+
+The graphical hierarchy is :
+ ESHandle
+ -> EstimateVisualisationAxes
+ -> ESPlotHandles
+
+--------------------------------------------------------------------------
+%}
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+ESHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model: MUSCLE FORCE ESTIMATION TOOLBOX');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INTERACTIVE ELEMENTS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+% Push Button for Closing the GUI
+ESGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.95, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'CLOSE TOOL',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ESTIMATION_TOOL_script_generator('Close Estimation Tool'));
+
+% Push Button to start the estimation
+ESGUIHandle.Estimate_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.9, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'ESTIMATE FORCES',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ESTIMATION_TOOL_script_generator('Estimate Forces'));
+
+% Push Button for saving the data
+ESGUIHandle.Save_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.85, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'SAVE DATA',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ESTIMATION_TOOL_script_generator('Save Data'));
+
+% Push Button for EMG to force
+ESGUIHandle.EMG_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.625, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'EMG to Force',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ESTIMATION_TOOL_script_generator('EMG to Force'));
+%--------------------------------------------------------------------------
+% UICONTROL FOR IMPOSING MOTION TIME SPAN & WEIGHT IN HAND
+%--------------------------------------------------------------------------
+% Text for imposing how fast the estimation is run
+ESGUIHandle.TimeFrameTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.805, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'Motion Time Span :',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Edit for imposint motion speed
+ESGUIHandle.TimeFrameEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.78, 0.05, 0.02],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Text for imposing how fast the estimation is run
+ESGUIHandle.TimeFrameTxt2 = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.91, 0.78, 0.05, 0.02],...
+ 'style', 'text',...
+ 'string', '[s]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Text for Weight in Hand
+ESGUIHandle.HandWeightTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.7505, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'Weight in Hand :',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Edit for Weight in Hand
+ESGUIHandle.HandWeightEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.73, 0.05, 0.02],...
+ 'style', 'edit',...
+ 'string', '0',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Text for Weight in Hand
+ESGUIHandle.HandWeightTxt2 = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.91, 0.73, 0.05, 0.02],...
+ 'style', 'text',...
+ 'string', '[kg]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE MENU
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Initialise the menu
+ESGUIHandle.MenuOptions = zeros(3,4);
+
+ESGUIHandle.MenuOptions(1,1) = uimenu(ESHandle,...
+ 'label', 'Estimation Options');
+
+% Sub-menus
+ESGUIHandle.MenuOptions(2,1) = uimenu(ESGUIHandle.MenuOptions(1,1),...
+ 'label', 'Options');
+
+ESGUIHandle.MenuOptions(3,1) = uimenu(ESGUIHandle.MenuOptions(1,1),...
+ 'label', 'About?',...
+ 'callback', ESTIMATION_TOOL_script_generator('Help'));
+
+ESGUIHandle.MenuOptions(2,2) = uimenu(ESGUIHandle.MenuOptions(2,1),...
+ 'label', 'Glenohumeral Stability Constraint',...
+ 'callback', ESTIMATION_TOOL_script_generator('Update Uimenu II'));
+
+ESGUIHandle.MenuOptions(2,3) = uimenu(ESGUIHandle.MenuOptions(2,1),...
+ 'label', 'EMG-Assisted',...
+ 'callback', ESTIMATION_TOOL_script_generator('Update Uimenu I'));
+
+ESGUIHandle.MenuOptions(2,4) = uimenu(ESGUIHandle.MenuOptions(2,1),...
+ 'label', 'Measured Kinematics',...
+ 'callback', ESTIMATION_TOOL_script_generator('Update Uimenu III'));
+
+% ESGUIHandle.MenuOptions(2,3) = uimenu(ESGUIHandle.MenuOptions(2,1),...
+% 'label', 'Dynamic Maximum Forces',...
+% 'callback', ESTIMATION_TOOL_script_generator('Update Uimenu I'));
+
+% -------------------------------------------------------------------------
+% -------------------------------------------------------------------------
+% load EMG data
+% -------------------------------------------------------------------------
+% -------------------------------------------------------------------------
+
+% Load EMG data Title
+ESGUIHandle.EMG_data.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.885, 0.705, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Load EMG data:',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Load EMG data Text
+ESGUIHandle.EMG_data.Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.68, 0.14, 0.02],...
+ 'style', 'Edit',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'normal',...
+ 'callback', ESTIMATION_TOOL_script_generator('Load EMG'));
+
+% Load EMG data Pushbottom
+ESGUIHandle.EMG_data.Pushbutton = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.965, 0.68, 0.03, 0.02],...
+ 'style', 'PushButton',...
+ 'String','...',...
+ 'HorizontalAlignment', 'center',...
+ 'backgroundcolor', [0.6 0.6 0.6],...
+ 'fontsize', 10,...
+ 'fontweight', 'bold',...
+ 'callback', ESTIMATION_TOOL_script_generator('Load EMG'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE VISUALISATION AXES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain an 15xN matrix
+for MuscleId = 1:42
+ MADATA{MuscleId, 1}.MomentArms = cell(1,20);
+ MADATA{MuscleId, 1}.FDirection = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane = cell(1,20);
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.ScapularPlane {1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+% Initialise the EFDATA structure
+% Initialise the output
+EFDATA = cell(44,1);
+JRDATA = zeros(size(KEDATA.Joint_Angle_Evolution,2),7); % Contains vector and intensity
+
+% Each element in the cell will contain a 15 x N matrix
+for MuscleId = 1:44
+ EFDATA{MuscleId, 1}.MomentArms = cell(1,20);
+ for SegmentId = 1:20
+ EFDATA{MuscleId, 1}.Forces(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ EFDATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+% Central Axis
+ESVisualisationAxis.Central = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.064, 0.45, 0.8760],...
+ 'xcolor', 'white',...
+ 'ycolor', 'white');
+
+% Subclavius
+ESVisualisationAxis.Muscle(1,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.94, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 1));
+
+% Serratus Anterior (Superior)
+ESVisualisationAxis.Muscle(2,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.72, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 2));
+
+% Serratus Anterior (Middle)
+ESVisualisationAxis.Muscle(3,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.6650, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 3));
+
+% Serratus Anterior (Inferior)
+ESVisualisationAxis.Muscle(4,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.445, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 4));
+
+% Trapezius (C1 - C6)
+ESVisualisationAxis.Muscle(5,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 5));
+
+% Trapezius (C7)
+ESVisualisationAxis.Muscle(6,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 6));
+
+% Trapezius (T1 - T2)
+ESVisualisationAxis.Muscle(7,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.94, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 7));
+
+% Trapezius (T3 - T7)
+ESVisualisationAxis.Muscle(8,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.8850, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 8));
+
+% Levator Scapuale
+ESVisualisationAxis.Muscle(9,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 9));
+
+% Rhomboid Minor
+ESVisualisationAxis.Muscle(10,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 10));
+
+% Rhomboid Major (T1 - T2)
+ESVisualisationAxis.Muscle(11,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 11));
+
+% Rhomboid Major (T3 - T4)
+ESVisualisationAxis.Muscle(12,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.009, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 12));
+
+% Pectoralis Minor
+ESVisualisationAxis.Muscle(13,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.83, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 13));
+
+% Pectoralis Major (Clavicular)
+ESVisualisationAxis.Muscle(14,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 14));
+
+% Pectoralis Major (Sternal)
+ESVisualisationAxis.Muscle(15,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.0640, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 15));
+
+% Pectoralis Major (Ribs)
+ESVisualisationAxis.Muscle(16,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.009, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 16));
+
+% Latissimus Doris (Thoracic)
+ESVisualisationAxis.Muscle(17,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.6650, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 17));
+
+% Latissimus Doris (Lumbar)
+ESVisualisationAxis.Muscle(18,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.61, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 18));
+
+% Latissimus Doris (Iliae)
+ESVisualisationAxis.Muscle(19,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.555, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 19));
+
+% Deltoid (Anterior)
+ESVisualisationAxis.Muscle(20,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.335, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 20));
+
+% Deltoid (Middle)
+ESVisualisationAxis.Muscle(21,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.39, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 21));
+
+% Deltoid (Posterior)
+ESVisualisationAxis.Muscle(22,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.83, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 22));
+
+% Supraspinatus
+ESVisualisationAxis.Muscle(23,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.39, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 23));
+
+% Infraspinatus
+ESVisualisationAxis.Muscle(24,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.335, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 24));
+
+% Subscapularis
+ESVisualisationAxis.Muscle(25,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.8850, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 25));
+
+% Teres Minor
+ESVisualisationAxis.Muscle(26,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.28, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 26));
+
+% Teres Major
+ESVisualisationAxis.Muscle(27,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.225, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 27));
+
+% Coracobrachialis
+ESVisualisationAxis.Muscle(28,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.7750, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 28));
+
+% Triceps Brachii Long
+ESVisualisationAxis.Muscle(29,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.7750, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 29));
+
+% Triceps Brachii Medial
+ESVisualisationAxis.Muscle(30,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.17, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 30));
+
+% Triceps Brachii Lateral
+ESVisualisationAxis.Muscle(31,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.72, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 31));
+
+% Biceps Brachii Short
+ESVisualisationAxis.Muscle(32,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.225, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 32));
+
+% Biceps Brachii Long
+ESVisualisationAxis.Muscle(33,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.28, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 33));
+
+% Brachialis
+ESVisualisationAxis.Muscle(34,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.61, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 34));
+
+% Brachioradialis
+ESVisualisationAxis.Muscle(35,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.17, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 35));
+
+% Supinator
+ESVisualisationAxis.Muscle(36,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.0640, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 36));
+
+% Pronator Teres
+ESVisualisationAxis.Muscle(37,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.5, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 37));
+
+% Flexor Carpi Radialis
+ESVisualisationAxis.Muscle(38,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.1190, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 38));
+
+% Flexor Carpi Ulnaris
+ESVisualisationAxis.Muscle(39,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.445, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 39));
+
+% Extensor Carpi Radialis Long
+ESVisualisationAxis.Muscle(40,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.555, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 40));
+
+% Extensor Carpi Radialis Brevis
+ESVisualisationAxis.Muscle(41,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.1190, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 41));
+
+% Extensor Carpi Ulnaris
+ESVisualisationAxis.Muscle(42,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.5, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 42));
+
+% % Text for TS Force [N]
+% ESGUIHandle.TSforceTxt = uicontrol(...
+% 'units', 'normalized',...
+% 'position', [0.855, 0.595, 0.15, 0.02],...
+% 'style', 'text',...
+% 'string', 'TS Force [N]',...
+% 'backgroundcolor', 'white',...
+% 'fontsize', 10,...
+% 'fontweight', 'bold');
+%
+% % TS scapulothoracic force
+% ESVisualisationAxis.Muscle(43,1) = axes(...
+% 'units', 'normalized',...
+% 'position', [0.85, 0.5, 0.15, 0.09],...
+% 'xtick', [],...
+% 'ytick', [],...
+% 'box', 'on');%,...
+% %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 43));
+%
+% % Text for AI Force [N]
+% ESGUIHandle.AIForceTxt = uicontrol(...
+% 'units', 'normalized',...
+% 'position', [0.855, 0.45, 0.15, 0.02],...
+% 'style', 'text',...
+% 'string', 'AI Force [N]',...
+% 'backgroundcolor', 'white',...
+% 'fontsize', 10,...
+% 'fontweight', 'bold');
+%
+% % AI scapulothoracic force
+% ESVisualisationAxis.Muscle(44,1) = axes(...
+% 'units', 'normalized',...
+% 'position', [0.85, 0.35, 0.15, 0.09],...
+% 'xtick', [],...
+% 'ytick', [],...
+% 'box', 'on');%,...
+% %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 44));
+
+% added here to show the HU and RU joint reaction forces instead of the TS
+% and AI constranit forces
+% -------------------------------------------------------------------------
+% Text for TS Force [N]
+ESGUIHandle.HUJointForceTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.595, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'HU Joint Force [N]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'bold');
+
+% TS scapulothoracic force
+ESVisualisationAxis.Muscle(43,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.5, 0.15, 0.09],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 43));
+
+% Text for AI Force [N]
+ESGUIHandle.RUJointForceTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.45, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'RU Joint Force [N]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'bold');
+
+% AI scapulothoracic force
+ESVisualisationAxis.Muscle(44,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.35, 0.15, 0.09],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 44));
+% -------------------------------------------------------------------------
+
+% Text for Joint Reaction Force [N]
+ESGUIHandle.JointForceTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.3, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'GH Joint Force [N]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'bold');
+
+% Joint Reaction Force [N]
+ESVisualisationAxis.Muscle(45,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.2, 0.15, 0.09],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 45));
+
+% Text for Glenoid Stability
+ESGUIHandle.GHStabilityTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.855, 0.15, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'Glenoid Stability',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'bold');
+
+% Glenoid Stability
+ESVisualisationAxis.Muscle(46,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.05, 0.15, 0.09],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');%,...
+ %'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 46));
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISE THE PLOT HANDLES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Set the current axes
+set(ESHandle, 'currentaxes', ESVisualisationAxis.Central);
+
+% Get the current file path
+Cpath = pwd;
+
+% Differentiate for non unix systems
+if isunix
+ Cpath = [Cpath, '/LOGOS/MusclesFigure2.png'];
+else
+ Cpath = [Cpath, '\LOGOS\MusclesFigure2.png'];
+end
+
+% Load the image of the muscles
+Image = imread(Cpath);
+image(Image)
+set(gca, 'xcolor', 'white','ycolor', 'white');
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_maximum_muscle_forces.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_maximum_muscle_forces.m
new file mode 100755
index 0000000..c328307
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_maximum_muscle_forces.m
@@ -0,0 +1,73 @@
+function FMAX = ESTIMATION_TOOL_maximum_muscle_forces(ESTDATA, DYDATA, MWDATA)
+
+% Initialise the Output
+FMAX = [];
+
+% Initialise a local indexing variable
+k = 0;
+Pesh = 50;
+
+% Use the Model which depends on the muscle length and velocity
+if isequal(ESTDATA.FmaxOption, 'on') % it would not be on anymore
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+
+ % Get the Muscle Length
+ Lm = ESTDATA.Muscle_Length(MuscleId, SegmentId);
+
+ % Get the Muscle Velocity (invert muscle velocity, positive = contraction, negative = elongation)
+ dLmdt = -ESTDATA.Moment_Arm_Matrix(:,k)'*DYDATA.dJEAdt;
+
+ % Define the Maximum and Minimum muscle lengths
+ Lm_max = 2.5*MWDATA{MuscleId, 1}.MSCInfo.Lmax;
+ Lm_min = 0.4*MWDATA{MuscleId, 1}.MSCInfo.Lmin;
+
+ % Get the Optimum Fiber Length
+ Lopt = 0.7;
+
+ % All these parameters are guessed...
+ Lsh = 0.6; % [m]
+ Ver = 0.5; % [-]
+ Vml = 1.3; % [-]
+ Lt = 0.02; % [m]
+ Lce0 = Lm_min + Lopt*(Lm_max - Lm_min) - Lt; % [m]
+ Vvm = 6*Lce0; % [m/s]
+ Vsh = 0.3; % [-]
+ Vshl = 0.23; % [-]
+ Lce = Lm - Lt; % [m]
+ Lcesh = Lsh*(Lm_max - Lm_min); % [m]
+
+ % Compute the Length Function
+ Flce = exp(-((Lce - Lce0)/Lcesh)^2);
+
+ % Compute the Muscle Velocity Function
+ Fvce = Flce;
+
+ Vmax = Vvm*(1 - Ver*(1 - Flce));
+
+ if dLmdt <= -Vmax
+ Fvce = 0;
+ elseif dLmdt > -Vmax && dLmdt < 0
+ Fvce = Vsh*(Vmax + dLmdt)/(Vsh*Vmax - dLmdt);
+ elseif dLmdt >= 0
+ Fvce = (Vsh*Vshl*Vmax + Vml*dLmdt)/(Vsh*Vshl*Vmax + dLmdt);
+ else
+ Fvce = 0;
+ end
+
+ % Compute the Maximum Muscle Force (Activation is set to 1)
+ FMAX(k,1) = Flce.*Fvce.*MWDATA{MuscleId, 1}.MSCInfo.Fmax + MWDATA{MuscleId, 1}.MSCInfo.Fmax/exp(Pesh)*(exp(Pesh/Lm_max*Lm) - 1);
+ end
+ end
+% Simply use the maximum forces as is
+else
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = MWDATA{MuscleId, 1}.MSCInfo.Fmax;
+ end
+ end
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_menu_functions.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_menu_functions.m
new file mode 100755
index 0000000..968024d
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_menu_functions.m
@@ -0,0 +1,80 @@
+function OutHandle = ESTIMATION_TOOL_menu_functions(task, InHandle)
+% UICONTROL Callback handles all the muscle tool menu functions
+%--------------------------------------------------------------------------
+% Syntax :
+% OutHandle = ESTIMATION_TOOL_menu_functions(task, InHandle, MuscleId, varargin)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function handles all the muscle tool menu tasks.
+%
+% List of Single Muscle Tasks:
+% Change Visibility
+% Change Object Visibility
+% Change Interpolation Type
+% Change Segment Numbers
+% Change Radius Adjustment Factor
+%
+% List of All Muscle Tasks:
+% Change All Visibilities
+% Change All Interpolations
+% Change All Segment Numbers
+%--------------------------------------------------------------------------
+
+% Initialise the output
+OutHandle = InHandle;
+
+%--------------------------------------------------------------------------
+% SET MUSCLE FORCE VISIBILITY AXIS 1
+%--------------------------------------------------------------------------
+if isequal(task, 'Menu I')
+ % Get the current state
+ state = get(InHandle.MenuOptions(2,3), 'Checked');
+
+ % Change the state to opposite state
+ if isequal(state, 'on')
+ set(OutHandle.MenuOptions(2,3), 'Checked', 'off');
+ else
+ set(OutHandle.MenuOptions(2,3), 'Checked', 'on');
+ end
+%--------------------------------------------------------------------------
+% SET MUSCLE FORCE VISIBILITY AXIS 2
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu II')
+ % Get the current state
+ state = get(InHandle.MenuOptions(2,2), 'Checked');
+
+ if isequal(state, 'on')
+ set(OutHandle.MenuOptions(2,2), 'Checked', 'off');
+ else
+ set(OutHandle.MenuOptions(2,2), 'Checked', 'on');
+ end
+
+%--------------------------------------------------------------------------
+% SET MUSCLE FORCE VISIBILITY AXIS 2
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu III')
+ % Get the current state
+ state = get(InHandle.MenuOptions(2,4), 'Checked');
+
+ if isequal(state, 'on')
+ set(OutHandle.MenuOptions(2,4), 'Checked', 'off');
+ else
+ set(OutHandle.MenuOptions(2,4), 'Checked', 'on');
+ end
+
+%--------------------------------------------------------------------------
+% Throw an error if the task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'ESTIMATION_TOOL_menu_functions requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Menu I,\n',...
+ '2) Menu II.\n'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation.m
new file mode 100755
index 0000000..918906c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation.m
@@ -0,0 +1,337 @@
+function FDATA = ESTIMATION_TOOL_run_optimisation(time, ESTDATA, DYDATA, MWDATA, BLDATA, REDATA, SSDATA)
+%{
+ Function for estiming muscle forces using null-space optimisation
+--------------------------------------------------------------------------
+Syntax :
+FDATA = ESTIMATION_TOOL_run_optimisation(Wmat, Dmat, Lmat, ESTDATA, DYDATA, MWDATA, BLDATA, REDATA)
+--------------------------------------------------------------------------
+
+
+The Output Data Structure is defined as follows
+ FDATA.Force = (Nb muscle + 2) x 1
+ FDATA.JointForce = 1 x 4
+ FDATA.JointReact = 1 x 4
+--------------------------------------------------------------------------
+%}
+% Initialise the Output
+FDATA.Force = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.ForceMax = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.JointForce = zeros(1,4);
+
+%--------------------------------------------------------------------------
+% JOINT TORQUE
+%--------------------------------------------------------------------------
+% Get the All The Dynamics
+%[MDYN, RHS, PHI, dPHIdq, TPmat, ACGh, FDYN] = ESTIMATION_TOOL_get_dynamics(DYDATA, BLDATA);
+
+[MDYN, RHS, PHI, dPHIdq, TPmat, ACGh, ACGu, ACGr, FDYN, FDYN_u, FDYN_r] = ESTIMATION_TOOL_get_dynamics(DYDATA, BLDATA);
+
+% Define the total Joint torque
+Jtorque = (MDYN*DYDATA.d2JEAdt2 - RHS);
+
+%--------------------------------------------------------------------------
+% SCAPULO THORACIC MOMENT ARMS
+%--------------------------------------------------------------------------
+% Compute the Scapulo-thoracic moment arms
+TS = BLDATA.Current_Points.TS; MA_TS = zeros(15,1);
+E_TS = diag([1/REDATA.TSaxes(1)^2; 1/REDATA.TSaxes(2)^2; 1/REDATA.TSaxes(3)^2]);
+d_TS = 2*E_TS*(TS - REDATA.Centre); d_TS = d_TS/norm(d_TS);
+r_TS = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.TS-BLDATA.Current_Points.AC];
+MA_TS(1:3,1) = cross(r_TS(:,1),d_TS); MA_TS(4:6,1) = cross(r_TS(:,2), d_TS);
+
+AI = BLDATA.Current_Points.AI; MA_AI = zeros(15,1);
+E_AI = diag([1/REDATA.AIaxes(1)^2; 1/REDATA.AIaxes(2)^2; 1/REDATA.AIaxes(3)^2]);
+d_AI = 2*E_AI*(AI - REDATA.Centre); d_AI = d_AI/norm(d_AI);
+r_AI = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.AI-BLDATA.Current_Points.AC];
+MA_AI(1:3,1) = cross(r_AI(:,1),d_TS); MA_AI(4:6,1) = cross(r_AI(:,2), d_AI);
+
+% Define the total Moment Arms Matrix
+Wm = [TPmat*MA_TS, TPmat*MA_AI, TPmat*ESTDATA.Moment_Arm_Matrix];
+Dm = [zeros(15,2), ESTDATA.Force_Direction_Matrix];
+
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE
+%--------------------------------------------------------------------------
+Cmat = ESTIMATION_TOOL_glenoid_cone_make(DYDATA, BLDATA);
+
+%--------------------------------------------------------------------------
+% COMPUTE MAXIMUM FORCES
+%--------------------------------------------------------------------------
+% define the upper bounds on muscle forces
+% chose whether or not the EMG data is used
+
+if isequal(ESTDATA.EmgOption, 'off')
+ % no EMG
+ FMAX = ESTIMATION_TOOL_maximum_muscle_forces(ESTDATA, DYDATA, MWDATA);
+
+else % use the EMG based bounds
+ EMG_muscle_list = {'DANT' 'DMED' 'DPOS' 'TDES' 'TTRA' 'TASE' 'TERM' 'PECT' 'BICL' 'BICS' 'TLOH' 'TLAH' 'BRAC' 'FLCU' 'INFS'};
+
+ EMG_muscle_no = [20 21 22 6 7 8 27 15 33 32 29 31 34 39 24];
+
+ time_interp = linspace(0, ESTDATA.Tmax, length(SSDATA.Joint_Angle_Reconstruction));
+
+ % define the confidence interval on the EMG-based forces
+ lam_u = 0.7;
+ lam_l = 0.3;
+ parameters = [1 1 1 1];
+
+ k = 0;
+ for MuscleId = 1:42
+ if MuscleId == EMG_muscle_no(1, 1)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{1}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 2)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = parameters(1)*lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{2}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 3)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{3}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 4)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{4}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 5)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{5}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 6)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{6}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 7)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{7}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 8)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{8}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 9)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{9}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 10)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{10}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 11)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{11}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 12)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{12}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 13)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{13}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 14)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = parameters(2)*lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{14}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 15)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = 100*lam_u*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{15}), time);
+ end
+ else
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMAX(k,1) = MWDATA{MuscleId, 1}.MSCInfo.Fmax;
+ end
+ end
+
+ end
+end
+
+% Add the Scapulothoraci Upper Bounds (These values are guessed)
+Fmax = [100; 100; FMAX];
+
+Emi = [1/(1.e-4*0.25)^2; 1/(1.e-4*0.25)^2];
+
+% Build the PCSA weight matrix
+for MuscleId = 1:42
+ Emj = [];
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ Emj = [Emj; 1/(MWDATA{MuscleId, 1}.MSCInfo.PCSA*MWDATA{MuscleId, 1}.MSCInfo.NbSegments)^2];
+ end
+ Emi = [Emi; Emj];
+end
+% Define the Weighting Matrix
+Em = diag(Emi);
+
+% Compute initial solution
+F0 = Em*Wm'*inv(Wm*Em*Wm')*(Jtorque);
+N = null(Wm);
+H = 0.5*N'*Em*N;
+H = 0.5*(H+H'); % Corrects for Non Symetric Matrix
+hk = F0'*Em*N;
+
+% Optimization Constraints
+A= []; b = [];
+
+% define the lower bounds on muscle forces
+% chose whether or not the EMG data is used
+
+if isequal(ESTDATA.EmgOption, 'off')
+ % no EMG
+ Fmin = zeros(size(Fmax,1),1);
+
+else % use the EMG based bounds
+ k = 0;
+ for MuscleId = 1:42
+ if MuscleId == EMG_muscle_no(1, 1)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{1}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 2)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = parameters(3)*lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{2}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 3)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{3}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 4)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{4}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 5)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{5}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 6)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{6}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 7)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{7}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 8)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{8}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 9)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{9}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 10)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{10}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 11)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{11}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 12)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{12}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 13)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{13}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 14)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = parameters(4)*lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{14}), time);
+ end
+ elseif MuscleId == EMG_muscle_no(1, 15)
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = lam_l*interp1(time_interp, SSDATA.f_T.(EMG_muscle_list{15}), time);
+ end
+ else
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ k = k+1;
+ FMIN(k,1) = 0;
+ end
+ end
+
+ end
+
+ Fmin = [0; 0; FMIN];
+
+end
+
+
+if isequal(ESTDATA.RconOption, 'on');
+ A = [N; -N; -Cmat*(Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*N];
+ b = [Fmax-F0; -Fmin+F0; Cmat*((Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*F0 - FDYN)];
+else
+ A = [N; -N];
+ b = [Fmax-F0; -Fmin+F0];
+end
+
+% Initial Condition
+% xopt = zeros(size(A,2),1);
+
+% Optimization Options
+options = optimset(...
+ 'Diagnostics','off',...
+ 'Display', 'off',...
+ 'LargeScale', 'on',...
+ 'Algorithm', 'interior-point-convex',...
+ 'TolX', 1.e-8,...
+ 'TolFun', 1.e-8,...
+ 'TolCon', 1.e-8,...
+ 'MaxFunEval', 10000,...
+ 'MaxIter', 10000,...
+ 'UseParallel',true);
+
+% Run the Optimization
+[xopt,fval,exitflag] = quadprog(H,hk, A,b, [], [], [], [], [], options);
+
+% Save the Data
+FDATA.Force = F0+N*xopt;
+FDATA.ForceMax = (F0+N*xopt)./Fmax;
+% FDATA.JointReact = [(FDYN - Dm(7:9,:)*FDATA.Force)', norm(FDYN - Dm(7:9,:)*FDATA.Force)];
+FDATA.JointReact = [(FDYN - (Dm(7:9,:) + Dm(10:12,:) + Dm(13:15,:))*FDATA.Force)', norm(FDYN - (Dm(7:9,:) + Dm(10:12,:) + Dm(13:15,:))*FDATA.Force)];
+FDATA.Exitflag = exitflag;
+
+% HU joint reaction force
+FDATA.HUJointReact = [(FDYN_u - (Dm(10:12,:) + Dm(13:15,:))*FDATA.Force)', norm(FDYN_u - (Dm(10:12,:) + Dm(13:15,:))*FDATA.Force)];
+
+% RU joint reaction force
+FDATA.RUJointReact = [(FDYN_r - (Dm(13:15,:))*FDATA.Force)', norm(FDYN_r - (Dm(13:15,:))*FDATA.Force)];
+
+
+% WW = TPmat*ESTDATA.Moment_Arm_Matrix;
+% F = FDATA.Force(3:end,1);
+% Jtorque(1)
+% WW(1, [1,5,6,7,8,9,18,24])
+% WW(1, [1,5,6,7,8,9,18,24])*F([1,5,6,7,8,9,18,24],1)
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_old.m~ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_old.m~
new file mode 100755
index 0000000..449d0c5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_old.m~
@@ -0,0 +1,125 @@
+function FDATA = ESTIMATION_TOOL_run_optimisation_old(ESTDATA, DYDATA, MWDATA, BLDATA, REDATA)
+%{
+ Function for estiming muscle forces using null-space optimisation
+--------------------------------------------------------------------------
+Syntax :
+FDATA = ESTIMATION_TOOL_run_optimisation(Wmat, Dmat, Lmat, ESTDATA, DYDATA, MWDATA, BLDATA, REDATA)
+--------------------------------------------------------------------------
+
+
+The Output Data Structure is defined as follows
+ FDATA.Force = (Nb muscle + 2) x 1
+ FDATA.JointForce = 1 x 4
+ FDATA.JointReact = 1 x 4
+--------------------------------------------------------------------------
+%}
+% Initialise the Output
+FDATA.Force = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.ForceMax = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.JointForce = zeros(1,4);
+
+%--------------------------------------------------------------------------
+% JOINT TORQUE
+%--------------------------------------------------------------------------
+% Get the All The Dynamics
+[MDYN, RHS, PHI, dPHIdq, TPmat, ACGh, FDYN] = ESTIMATION_TOOL_get_dynamics(DYDATA, BLDATA);
+
+% Define the total Joint torque
+Jtorque = (MDYN*DYDATA.d2JEAdt2 - RHS);
+
+%--------------------------------------------------------------------------
+% SCAPULO THORACIC MOMENT ARMS
+%--------------------------------------------------------------------------
+% Compute the Scapulo-thoracic moment arms
+TS = BLDATA.Current_Points.TS; MA_TS = zeros(15,1);
+E_TS = diag([1/REDATA.TSaxes(1)^2; 1/REDATA.TSaxes(2)^2; 1/REDATA.TSaxes(3)^2]);
+d_TS = 2*E_TS*(TS - REDATA.Centre); d_TS = d_TS/norm(d_TS);
+r_TS = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.TS-BLDATA.Current_Points.AC];
+MA_TS(1:3,1) = cross(r_TS(:,1),d_TS); MA_TS(4:6,1) = cross(r_TS(:,2), d_TS);
+
+AI = BLDATA.Current_Points.AI; MA_AI = zeros(15,1);
+E_AI = diag([1/REDATA.AIaxes(1)^2; 1/REDATA.AIaxes(2)^2; 1/REDATA.AIaxes(3)^2]);
+d_AI = 2*E_AI*(AI - REDATA.Centre); d_AI = d_AI/norm(d_AI);
+r_AI = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.AI-BLDATA.Current_Points.AC];
+MA_AI(1:3,1) = cross(r_AI(:,1),d_TS); MA_AI(4:6,1) = cross(r_AI(:,2), d_AI);
+
+% Define the total Moment Arms Matrix
+Wm = [TPmat*MA_TS, TPmat*MA_AI, TPmat*ESTDATA.Moment_Arm_Matrix];
+Dm = [zeros(15,2), ESTDATA.Force_Direction_Matrix];
+
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE
+%--------------------------------------------------------------------------
+Cmat = ESTIMATION_TOOL_glenoid_cone_make(DYDATA, BLDATA);
+
+%--------------------------------------------------------------------------
+% COMPUTE MAXIMUM FORCES
+%--------------------------------------------------------------------------
+FMAX = ESTIMATION_TOOL_maximum_muscle_forces(ESTDATA, DYDATA, MWDATA);
+
+% Add the Scapulothoraci Upper Bounds (These values are guessed)
+Fmax = [100; 100; FMAX];
+Emi = [1/(1.e-4*0.25)^2; 1/(1.e-4*0.25)^2];
+
+% Build the PCSA weight matrix
+for MuscleId = 1:42
+ Emj = [];
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ Emj = [Emj; 1/(MWDATA{MuscleId, 1}.MSCInfo.PCSA*MWDATA{MuscleId, 1}.MSCInfo.NbSegments)^2];
+ end
+ Emi = [Emi; Emj];
+end
+% Define the Weighting Matrix
+Em = diag(Emi);
+
+% Compute initial solution
+F0 = Em*Wm'*inv(Wm*Em*Wm')*(Jtorque);
+N = null(Wm);
+H = 0.5*N'*Em*N;
+H = 0.5*(H+H'); % Corrects for Non Symetric Matrix
+hk = F0'*Em*N;
+
+% Optimization Constraints
+A= []; b = [];
+Fmin = zeros(size(Fmax,1),1);
+
+if isequal(ESTDATA.RconOption, 'on');
+ A = [N; -N; -Cmat*(Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*N];
+ b = [Fmax-F0; F0; Cmat*((Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*F0 - FDYN)];
+else
+ A = [N; -N];
+ b = [Fmax-F0; -Fmin+F0];
+end
+
+% Initial Condition
+% xopt = zeros(size(A,2),1);
+
+% Optimization Options
+options = optimset(...
+ 'Diagnostics','on',...
+ 'Display', 'iter',...
+ 'LargeScale', 'on',...
+ 'Algorithm', 'interior-point-convex',...
+ 'TolX', 1.e-8,...
+ 'TolFun', 1.e-8,...
+ 'TolCon', 1.e-8,...
+ 'MaxFunEval', 10000,...
+ 'MaxIter', 10000,...
+ 'UseParallel',true);
+
+% Run the Optimization
+[xopt,fval,exitflag] = quadprog(H,hk, A,b, [], [], [], [], [], options);%
+
+% Save the Data
+FDATA.Force = F0+N*xopt;
+FDATA.ForceMax = (F0+N*xopt)./Fmax;
+FDATA.JointReact = [(FDYN - Dm(7:9,:)*FDATA.Force)', norm(FDYN - Dm(7:9,:)*FDATA.Force)];
+FDATA.JointReact = [(FDYN - (Dm(7:9,:) + Dm(10:12,:) + Dm(13:15,:))*FDATA.Force)', norm(FDYN - Dm(7:9,:)*FDATA.Force)];
+
+[(FDYN - (Dm(10:12,:) + Dm(7:9,:))*FDATA.Force)', norm(FDYN - (Dm(10:12,:) + Dm(7:9,:))*FDATA.Force)];
+% WW = TPmat*ESTDATA.Moment_Arm_Matrix;
+% F = FDATA.Force(3:end,1);
+% Jtorque(1)
+% WW(1, [1,5,6,7,8,9,18,24])
+% WW(1, [1,5,6,7,8,9,18,24])*F([1,5,6,7,8,9,18,24],1)
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_try2.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_try2.m
new file mode 100755
index 0000000..e6c6e33
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_run_optimisation_try2.m
@@ -0,0 +1,144 @@
+function FDATA = ESTIMATION_TOOL_run_optimisation(ESTDATA, DYDATA, MWDATA, BLDATA, REDATA)
+%{
+ Function for estiming muscle forces using null-space optimisation
+--------------------------------------------------------------------------
+Syntax :
+FDATA = ESTIMATION_TOOL_run_optimisation(Wmat, Dmat, Lmat, ESTDATA, DYDATA, MWDATA, BLDATA, REDATA)
+--------------------------------------------------------------------------
+
+
+The Output Data Structure is defined as follows
+ FDATA.Force = (Nb muscle + 2) x 1
+ FDATA.JointForce = 1 x 4
+ FDATA.JointReact = 1 x 4
+--------------------------------------------------------------------------
+%}
+% Initialise the Output
+FDATA.Force = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.ForceMax = zeros(size(ESTDATA.Moment_Arm_Matrix,2)+2,1);
+FDATA.JointForce = zeros(1,4);
+
+%--------------------------------------------------------------------------
+% JOINT TORQUE
+%--------------------------------------------------------------------------
+% Get the All The Dynamics
+[MDYN, RHS, PHI, dPHIdq, TPmat, ACGh, FDYN] = ESTIMATION_TOOL_get_dynamics(DYDATA, BLDATA);
+
+% Define the total Joint torque
+Jtorque = (MDYN*DYDATA.d2JEAdt2 - RHS);
+
+%--------------------------------------------------------------------------
+% SCAPULO THORACIC MOMENT ARMS
+%--------------------------------------------------------------------------
+% Compute the Scapulo-thoracic moment arms
+TS = BLDATA.Current_Points.TS; MA_TS = zeros(15,1);
+E_TS = diag([1/REDATA.TSaxes(1)^2; 1/REDATA.TSaxes(2)^2; 1/REDATA.TSaxes(3)^2]);
+d_TS = 2*E_TS*(TS - REDATA.Centre); d_TS = d_TS/norm(d_TS);
+r_TS = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.TS-BLDATA.Current_Points.AC];
+MA_TS(1:3,1) = cross(r_TS(:,1),d_TS); MA_TS(4:6,1) = cross(r_TS(:,2), d_TS);
+
+AI = BLDATA.Current_Points.AI; MA_AI = zeros(15,1);
+E_AI = diag([1/REDATA.AIaxes(1)^2; 1/REDATA.AIaxes(2)^2; 1/REDATA.AIaxes(3)^2]);
+d_AI = 2*E_AI*(AI - REDATA.Centre); d_AI = d_AI/norm(d_AI);
+r_AI = [BLDATA.Current_Points.AC-BLDATA.Current_Points.SC, BLDATA.Current_Points.AI-BLDATA.Current_Points.AC];
+MA_AI(1:3,1) = cross(r_AI(:,1),d_TS); MA_AI(4:6,1) = cross(r_AI(:,2), d_AI);
+
+% Define the total Moment Arms Matrix
+Wm = [TPmat*MA_TS, TPmat*MA_AI, TPmat*ESTDATA.Moment_Arm_Matrix];
+Dm = [zeros(15,2), ESTDATA.Force_Direction_Matrix];
+
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE
+%--------------------------------------------------------------------------
+Cmat = ESTIMATION_TOOL_glenoid_cone_make(DYDATA, BLDATA);
+
+%--------------------------------------------------------------------------
+% COMPUTE MAXIMUM FORCES
+%--------------------------------------------------------------------------
+FMAX = ESTIMATION_TOOL_maximum_muscle_forces(ESTDATA, DYDATA, MWDATA);
+
+% Add the Scapulothoraci Upper Bounds (These values are guessed)
+Fmax = [100; 100; FMAX];
+Emi = [1/(1.e-4*0.25)^2; 1/(1.e-4*0.25)^2];
+
+% Build the PCSA weight matrix
+for MuscleId = 1:42
+ Emj = [];
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ Emj = [Emj; 1/(MWDATA{MuscleId, 1}.MSCInfo.PCSA*MWDATA{MuscleId, 1}.MSCInfo.NbSegments)^2];
+ end
+ Emi = [Emi; Emj];
+end
+% Define the Weighting Matrix
+Em = diag(Emi);
+
+% Compute initial solution
+F0 = Em*Wm'*inv(Wm*Em*Wm')*(Jtorque);
+N = null(Wm);
+H = 0.5*N'*Em*N;
+H = 0.5*(H+H'); % Corrects for Non Symetric Matrix
+hk = F0'*Em*N;
+
+% Optimization Constraints
+A= []; b = [];
+Fmin = zeros(size(Fmax,1),1);
+
+% if isequal(ESTDATA.RconOption, 'on');
+% A = [N; -N; -Cmat*(Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*N];
+% b = [Fmax-F0; F0; Cmat*((Dm(7:9,:)+Dm(10:12,:)+Dm(13:15,:))*F0 - FDYN)];
+% else
+% A = [N; -N];
+% b = [Fmax-F0; -Fmin+F0];
+% end
+
+% Initial Condition
+% xopt = zeros(size(A,2),1);
+
+% Optimization Options
+options = optimset(...
+ 'Display', 'off',...
+ 'Diagnostics', 'off',...
+ 'LargeScale', 'on',...
+ 'Algorithm', 'active-set',...
+ 'TolX', 1.e-8,...
+ 'TolFun', 1.e-8,...
+ 'TolCon', 1.e-8,...
+ 'MaxFunEval', 10000,...
+ 'MaxIter', 10000);
+
+f1min=0;
+f2min=0;
+
+
+% Run the Optimization
+%[xopt,fval,exitflag] = quadprog(H,hk, A,b, [], [], [], [], [], options);%
+[xopt, f1min, exitflag] = fmincon(@NL_FOPT,zeros(size(Fmax,1),1),[],[], Wm, Jtorque, zeros(size(Fmax,1),1), Fmax, [], options, Dm, Em, FDYN, BLDATA, DYDATA, Finit, 0, 0,0, Fro);
+
+% Save the Data
+% FDATA.Force = F0+N*xopt;
+% FDATA.ForceMax = (F0+N*xopt)./Fmax;
+% FDATA.JointReact = [(FDYN - Dm(7:9,:)*FDATA.Force)', norm(FDYN - Dm(7:9,:)*FDATA.Force)];
+FDATA.Force = xopt;
+FDATA.ForceMax = FDATA.Force./Fmax;
+FDATA.JointReact = [(FDYN - (Dm(10:12,:) + Dm(7:9,:))*FDATA.Force)', norm(FDYN - (Dm(10:12,:) + Dm(7:9,:))*FDATA.Force)];
+Finit = xopt;
+
+% WW = TPmat*ESTDATA.Moment_Arm_Matrix;
+% F = FDATA.Force(3:end,1);
+% Jtorque(1)
+% WW(1, [1,5,6,7,8,9,18,24])
+% WW(1, [1,5,6,7,8,9,18,24])*F([1,5,6,7,8,9,18,24],1)
+return;
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_script_generator.m
new file mode 100755
index 0000000..3e2126a
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_script_generator.m
@@ -0,0 +1,145 @@
+function CBScript = ESTIMATION_TOOL_script_generator(task, varargin)
+%{
+ Function for generating the uicontrol callback scripts.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = ESTIMATION_TOOL_script_generator(task, varargin)
+--------------------------------------------------------------------------
+File Description :
+This function generates scripts for the muscle tool GUI. The scripts are
+generated as text arrays. The task input variable inidicates which script
+to return.
+varargin contains extra information: muscle identification number,
+interpolation type, number of segments.
+
+List of Scripts :
+ 1) Close Estimation Tool
+ 2) Save Visualisation
+ 3) Estimate Muscle Forces
+ 4) View Data
+ 5) Update UIMenu
+ Load EMG
+ EMG to Force
+ 6) Help
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Muscle Force Estimation Tool GUI
+% Closes the GUI and deletes unused variables.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Estimation Tool')
+ CBScript = [...
+ 'clear ESGUIHandle;',...
+ 'clear ESPlotHandles;',...
+ 'clear ESVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear ESHandle;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Estimate Muscle Forces
+% Runs the force estimation script
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Estimate Forces')
+ CBScript = ['[EFDATA, JRDATA, MADATA, SSDATA] = ESTIMATION_TOOL_estimate_forces(ESGUIHandle, MWDATA, REDATA, BLDATA, KEDATA, DYDATA, SSDATA);',...
+ 'ESTIMATION_TOOL_visualisation_script;'];
+
+%--------------------------------------------------------------------------
+% Task 3 : Save Data
+% Saves the data to .mat files
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Data')
+ CBScript = [...
+ 'CurrentFolder = pwd;',...
+ 'if isunix;',...
+ 'save([CurrentFolder, ''/Data_Structures_and_Documentation/EFDATA.mat''], ''EFDATA'');',...
+ 'save([CurrentFolder, ''/Data_Structures_and_Documentation/JRDATA.mat''], ''JRDATA'');',...
+ 'save([CurrentFolder, ''/Data_Structures_and_Documentation/MADATA.mat''], ''MADATA'');',...
+ 'else;',...
+ 'save([CurrentFolder, ''\Data_Structures_and_Documentation\EFDATA.mat''], ''EFDATA'');',...
+ 'save([CurrentFolder, ''\Data_Structures_and_Documentation\JRDATA.mat''], ''JRDATA'');',...
+ 'save([CurrentFolder, ''\Data_Structures_and_Documentation\MADATA.mat''], ''MADATA'');',...
+ 'end;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Load EMG data
+% loads the EMG data
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Load EMG')
+ CBScript = 'SSDATA = ESTIMATION_TOOL_Load_EMG(ESGUIHandle, SSDATA);';
+
+%--------------------------------------------------------------------------
+% Task 2 : EMG to Force
+% defines muscle force based on the imported EMG data
+%--------------------------------------------------------------------------
+elseif isequal(task, 'EMG to Force')
+ CBScript = 'SSDATA = ESTIMATION_TOOL_EMG_to_force(ESGUIHandle, SSDATA, BLDATA, MWDATA, DYDATA);';
+
+%--------------------------------------------------------------------------
+% Task 4.1 : Update the UIMENU
+% Updates the menu option of using the dynamic maximum force constraints
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Uimenu I')
+ CBScript = ['ESGUIHandle = ESTIMATION_TOOL_menu_functions(''Menu I'', ESGUIHandle);'];
+
+%--------------------------------------------------------------------------
+% Task 4.2 : Update the UIMENU
+% Menu function to update the option of using the stability condition
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Uimenu II')
+ CBScript = ['ESGUIHandle = ESTIMATION_TOOL_menu_functions(''Menu II'', ESGUIHandle);'];
+
+%--------------------------------------------------------------------------
+% Task 4.2 : Update the UIMENU
+% Menu function to update the option of using the stability condition
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Uimenu III')
+ CBScript = ['ESGUIHandle = ESTIMATION_TOOL_menu_functions(''Menu III'', ESGUIHandle);'];
+
+
+%--------------------------------------------------------------------------
+% Task 5 : View Data
+% This script is run to create an enlarged visualisation of the muscle
+% forces
+%--------------------------------------------------------------------------
+elseif isequal(task, 'View Data')
+ MuscleId = varargin{1,1};
+
+ CBScript = ['MuscleId = ', num2str(MuscleId), ';',...
+ 'ESTIMATION_TOOL_view_data_script;'];
+
+%--------------------------------------------------------------------------
+% Task 6 : Help
+% Script displayed in the command window when the GUI help menu is clicked
+% on.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------------ FORCE ESTIMATION TOOL ----------------------\n'', '...
+ ' ''This is the muscle and joint force estimation GUI interface.\n'', ',...
+ ' ''You can add weight in the hand and change the time horizon.\n'', ',...
+ ' ''In the menu you can change options of the estimation.'', ',...
+ ' ''Clicking on the graphs will open a figure where they are completely displayed.'']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error. No valid task was given
+%--------------------------------------------------------------------------
+else
+ ErrorMsg = [...
+ 'The user supplied task is not valid. ',...
+ 'ESTIMATION_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Estimation Tool,\n',...
+ '2) Estimate Forces,\n',...
+ '3) Save Data,\n',...
+ '4) Update Uimenu,\n',...
+ '5) View Data,\n',...
+ '6) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_view_data_script.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_view_data_script.m
new file mode 100755
index 0000000..6d8c964
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_view_data_script.m
@@ -0,0 +1,204 @@
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This is the script for creating individual force plots when the
+% estimation process is over.
+%
+%--------------------------------------------------------------------------
+% List of Muscle Naems
+MSCNames = {'HU Joint Force',...% Scapulo-thoracic Force TS
+ 'RU Joint Force',...% Scapulo-thoracic Force AI
+ 'Subclavicular',...
+ 'Serratus Anterior Upper',...
+ 'Serratus Anterior Middle',...
+ 'Serratus Anterior Lower',...
+ 'Trapezius C1 - C6',...
+ 'Trapezius C7',...
+ 'Trapezius T1',...
+ 'Trapezius T2 - T7',...
+ 'Levator Scapulae',...
+ 'Rhomboid Minor',...
+ 'Rhomboid Major T1 - T2',...
+ 'Rhomboid Major T3 - T4',...
+ 'Pectorlis Minor',...
+ 'Pectoralis Major Clavicular',...
+ 'Pectoralis Major Sternal',...
+ 'Pectoralis Minor Ribs',...
+ 'Latissimus Dorsi Thoracic',...
+ 'Latissimus Dorsi Lumbar',...
+ 'Latissimus Dorsi Iliac',...
+ 'Deltoid Clavicular',...
+ 'Deltoid Acromial',...
+ 'Deltoid Scapular',...
+ 'Supraspinatus',...
+ 'Infraspinatus',...
+ 'Subscapularis',...
+ 'Teres Minor',...
+ 'Teres Major',...
+ 'Coracobrachialis',...
+ 'Triceps Brachii Long',...
+ 'Triceps Brachii Medial',...
+ 'Triceps Brachii Lateral',...
+ 'Biceps Brachii Short',...
+ 'Biceps Brachii Long',...
+ 'Brachialis',...
+ 'Brachioradialis',...
+ 'Supinator',...
+ 'Pronator Teres',...
+ 'Flexor Carpi Radialis',...
+ 'Flexor Carpi Ulnaris',...
+ 'Extensor Carpi Radialis Long',...
+ 'Extensor Carpi Radialis Brevis',...
+ 'Extensor Carpi Ulnaris',...
+ 'Joint Reaction Force',...
+ 'Stability'};
+
+% in order to have the same ylim for the force graphs
+for MuscleID = 1:44
+ if MuscleID < 3
+ maximum_forces(MuscleID) = max(JRDATA(1:end-2,4*(MuscleID+2)));
+ else
+ maximum_forces(MuscleID) = max(EFDATA{MuscleID, 1}.Forces(1:end-2,1));
+ end
+end
+
+ylimit = max(maximum_forces);
+
+
+
+if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+% -------------------------------------------------------------------------
+% without kinematics data
+% -------------------------------------------------------------------------
+% Create a figure
+figure('color', 'white')
+colorList = {'red', 'blue', [0, 156, 0]/256, 'black', 'magenta', 'cyan'};
+% Scapulothoracic plot
+if MuscleId < 3
+ % plot the constraint forces
+ %plot(KEDATA.Joint_Angle_Evolution(8,1:end-2)'*180/pi, EFDATA{MuscleId, 1}.Forces(1:end-2,1), 'linewidth', 2, 'color', 'red');
+ % plot the HU and RU joint reaction forces
+ plot(KEDATA.Joint_Angle_Evolution(8,1:end-2)'*180/pi, JRDATA(1:end-2,4*(MuscleId+2)),'linewidth', 2);
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ ylim([0 ylimit]);
+ grid on;
+ box on
+ title(MSCNames{1,MuscleId}, 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Muscle Force Plot
+elseif MuscleId > 2 && MuscleId < 45
+ hold on;
+ for SegmentId = 1:MWDATA{MuscleId-2, 1}.MSCInfo.NbSegments
+ plot(KEDATA.Joint_Angle_Evolution(8,1:end-2)'*180/pi, EFDATA{MuscleId, 1}.Forces(1:end-2,SegmentId), 'linewidth', 2, 'color', colorList{1, SegmentId});
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ ylim([0 ylimit]);
+ end
+ grid on;
+ box on
+ title([MSCNames{1,MuscleId}, ' Muslce Force'], 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Joint Force Intensity plot
+elseif MuscleId == 45
+ plot(KEDATA.Joint_Angle_Evolution(8,1:end-2)'*180/pi, JRDATA(1:end-2,4),'linewidth', 2);
+ set(gca, 'XDir', 'reverse', 'fontsize', 14)
+ grid on;
+ title([MSCNames{1,MuscleId}], 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Glenohumeral Joint Stability plot
+elseif MuscleId == 46
+
+ teta = linspace(0, 2*pi, 100);
+ Hay = DYDATA.ConeDimensions(1);
+ Haz = DYDATA.ConeDimensions(2);
+
+ Py = Hay*cos(teta);
+ Pz = Haz*sin(teta);
+ plot(Py, Pz, 'color', [0.7 0.7 0.7], 'linewidth', 2);
+ hold on;
+ scatter(JRDATA(1:end-2,6), JRDATA(1:end-2,7),'marker', 'o');
+ plot(JRDATA(1,6), JRDATA(1,7), 'marker', 'o','markersize', 12, 'MarkerFaceColor', 'green');
+ plot(JRDATA(end-2,6), JRDATA(end-2,7), 'marker', 'o', 'markersize', 12, 'MarkerFaceColor', 'red');
+ title('intersection locus of the GHJ reaction force and the glenoid fossa (green o = start, red o = end)', 'fontsize', 12, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('posterior-anterior', 'fontsize', 14, 'fontname', 'sansserif');
+ ylabel('inferior-superior', 'fontsize', 14, 'fontname', 'sansserif');
+ axis equal
+end
+
+
+else
+% -------------------------------------------------------------------------
+% with kinematics data
+% -------------------------------------------------------------------------
+
+% Create a figure
+figure('units', 'normalized',...
+ 'position', [0.2, 0.3, 0.3, 0.3], 'color', 'white')
+colorList = {'red', 'blue', [0, 156, 0]/256, 'black', 'magenta', 'cyan'};
+% Scapulothoracic plot
+if MuscleId < 3
+ % plot the constraint forces
+ plot(SSDATA.Joint_Angle_Reconstruction(8,1:end-2)'*180/pi, EFDATA{MuscleId, 1}.Forces(:,1), 'linewidth', 2, 'color', 'red');
+ % plot the HU and RU joint reaction forces
+ plot(SSDATA.Joint_Angle_Reconstruction(8,1:end-2)'*180/pi, JRDATA(:,4*(MuscleId+2)),'linewidth', 2);
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ ylim([0 ylimit]);
+ box on
+ grid on;
+ title(MSCNames{1,MuscleId}, 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Muscle Force Plot
+elseif MuscleId > 2 && MuscleId < 45
+ hold on;
+ for SegmentId = 1:MWDATA{MuscleId-2, 1}.MSCInfo.NbSegments
+ plot(SSDATA.Joint_Angle_Reconstruction(8,1:end-2)'*180/pi, EFDATA{MuscleId, 1}.Forces(:,SegmentId), 'linewidth', 2, 'color', colorList{1, SegmentId});
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ ylim([0 ylimit]);
+ end
+ box on
+ grid on;
+ title([MSCNames{1,MuscleId}, ' Muscle Force'], 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Joint Force Intensity plot
+elseif MuscleId == 45
+ plot(SSDATA.Joint_Angle_Reconstruction(8,1:end-2)'*180/pi, JRDATA(:,4),'linewidth', 2);
+ set(gca, 'XDir', 'reverse', 'fontsize', 14)
+ grid on;
+ title([MSCNames{1,MuscleId}], 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('Humeral Abduction Angle [DEG]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+ ylabel('Force [N]', 'fontsize', 14, 'fontname', 'sansserif', 'fontweight', 'bold');
+
+% Glenohumeral Joint Stability plot
+elseif MuscleId == 46
+
+ teta = linspace(0, 2*pi, 100);
+ Hay = DYDATA.ConeDimensions(1);
+ Haz = DYDATA.ConeDimensions(2);
+
+ Py = Hay*cos(teta);
+ Pz = Haz*sin(teta);
+ plot(Py, Pz, 'color', [0.7 0.7 0.7], 'linewidth', 2);
+ hold on;
+ scatter(JRDATA(:,6), JRDATA(:,7),'marker', 'o');
+ plot(JRDATA(1,6), JRDATA(1,7), 'marker', 'o','markersize', 12, 'MarkerFaceColor', 'green');
+ plot(JRDATA(end,6), JRDATA(end,7), 'marker', 'o', 'markersize', 12, 'MarkerFaceColor', 'red');
+ title('intersection locus of the GHJ reaction force and the glenoid fossa (green o = start, red o = end)', 'fontsize', 12, 'fontname', 'sansserif', 'fontweight', 'bold');
+ xlabel('posterior-anterior', 'fontsize', 14, 'fontname', 'sansserif');
+ ylabel('inferior-superior', 'fontsize', 14, 'fontname', 'sansserif');
+ axis equal
+ set(gca, 'fontsize', 14);
+end
+
+end
+
+%clear MSCNames LineTypeList t_org t MuscleID maximum_forces ylimit MuscleId teta Hay Haz Py Pz
diff --git a/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_visualisation_script.m b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_visualisation_script.m
new file mode 100755
index 0000000..daa126a
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_visualisation_script.m
@@ -0,0 +1,204 @@
+%--------------------------------------------------------------------------
+%
+%
+%--------------------------------------------------------------------------
+%
+% File description :
+% This file is a script for updating the estimation tool visualisations.
+%
+%--------------------------------------------------------------------------
+
+% List of Muscle Naems
+MSCNames = {'HU Joint Force',...% Scapulo-thoracic Force TS
+ 'RU Joint Force',...% Scapulo-thoracic Force AI
+ 'Subclavicular',...
+ 'Serratus Anterior Upper',...
+ 'Serratus Anterior Middle',...
+ 'Serratus Anterior Lower',...
+ 'Trapezius C1 - C6',...
+ 'Trapezius C7',...
+ 'Trapezius T1',...
+ 'Trapezius T2 - T7',...
+ 'Levator Scapulae',...
+ 'Rhomboid Minor',...
+ 'Rhomboid Major T1 - T2',...
+ 'Rhomboid Major T3 - T4',...
+ 'Pectorlis Minor',...
+ 'Pectoralis Major Clavicular',...
+ 'Pectoralis Major Sternal',...
+ 'Pectoralis Minor Ribs',...
+ 'Latissimus Dorsi Thoracic',...
+ 'Latissimus Dorsi Lumbar',...
+ 'Latissimus Dorsi Iliac',...
+ 'Deltoid Clavicular',...
+ 'Deltoid Acromial',...
+ 'Deltoid Scapular',...
+ 'Supraspinatus',...
+ 'Infraspinatus',...
+ 'Subscapularis',...
+ 'Teres Minor',...
+ 'Teres Major',...
+ 'Coracobrachialis',...
+ 'Triceps Brachii Long',...
+ 'Triceps Brachii Medial',...
+ 'Triceps Brachii Lateral',...
+ 'Biceps Brachii Short',...
+ 'Biceps Brachii Long',...
+ 'Brachialis',...
+ 'Brachioradialis',...
+ 'Supinator',...
+ 'Pronator Teres',...
+ 'Flexor Carpi Radialis',...
+ 'Flexor Carpi Ulnaris',...
+ 'Extensor Carpi Radialis Long',...
+ 'Extensor Carpi Radialis Brevis',...
+ 'Extensor Carpi Ulnaris',...
+ 'Joint Reaction Force',...
+ 'Stability'};
+
+% List of Line Types
+LineTypeList = {'-', '--', ':', '-.'};
+
+if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+ t = linspace(0, str2double(get(ESGUIHandle.TimeFrameEdit, 'string')), size(JRDATA,1)-2);
+else
+ %t = linspace(0, str2double(get(ESGUIHandle.TimeFrameEdit, 'string')), size(JRDATA,1));
+ t_org = linspace(0, str2double(get(ESGUIHandle.TimeFrameEdit, 'string')), size(JRDATA,1)+2);
+ t = t_org(1, 1:size(JRDATA,1));
+end
+
+
+
+% define the maximum force amongst all the muscle and constraint forces to
+% set the ylimit of all the graphs
+
+for MuscleID = 1:44
+ if MuscleID < 3
+ maximum_forces(MuscleID) = max(JRDATA(1:end-2,4*(MuscleID+2)));
+ else
+ maximum_forces(MuscleID) = max(EFDATA{MuscleID, 1}.Forces(1:end-2,1));
+ end
+end
+
+ylimit = max(maximum_forces);
+
+%--------------------------------------------------------------------------
+% Muscle forces plot
+%--------------------------------------------------------------------------
+for MuscleId = 1:44
+
+ if MuscleId < 3
+ % Set the current axes
+ set(ESHandle, 'currentaxes', ESVisualisationAxis.Muscle(42+MuscleId));
+
+ if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+ %plot(t, EFDATA{MuscleId, 1}.Forces(1:end-2,1), 'linewidth', 2, 'color', 'red');
+ plot(t', JRDATA(1:end-2,4*(MuscleId+2)), 'linewidth', 2, 'color', 'red'); % 4*(MuscleId+2) ---> to give 12 and 16
+ else
+ %plot(t, EFDATA{MuscleId, 1}.Forces(:,1), 'linewidth', 2, 'color', 'red');
+ plot(t', JRDATA(:,4*(MuscleId+2)), 'linewidth', 2, 'color', 'red');
+
+ end
+
+ legend(MSCNames{1,MuscleId});
+ set(ESVisualisationAxis.Muscle(42+MuscleId),...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'xlim', [0 str2double(get(ESGUIHandle.TimeFrameEdit, 'string'))],...
+ 'ylim', [-1 ylimit],...
+ 'buttondownfcn', ESTIMATION_TOOL_script_generator('View Data', MuscleId));
+ else
+ % Set the current axes
+ set(ESHandle, 'currentaxes', ESVisualisationAxis.Muscle(MuscleId-2));
+
+ if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+ plot(t, EFDATA{MuscleId, 1}.Forces(1:end-2,1), 'linewidth', 2, 'color', 'red');
+ else
+ plot(t, EFDATA{MuscleId, 1}.Forces(:,1), 'linewidth', 2, 'color', 'red');
+ end
+
+
+ legend(MSCNames{1,MuscleId});
+ set(ESVisualisationAxis.Muscle(MuscleId-2),...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'xlim', [0 str2double(get(ESGUIHandle.TimeFrameEdit, 'string'))],...
+ 'ylim', [-1 ylimit],...
+ 'buttondownfcn', ESTIMATION_TOOL_script_generator('View Data', MuscleId));
+ end
+end
+
+%--------------------------------------------------------------------------
+% Joint Reaction force plot
+%--------------------------------------------------------------------------
+% Set the Joint reaction force plot
+set(ESHandle, 'currentaxes', ESVisualisationAxis.Muscle(45,1));
+
+% Create the X-axis time vector
+if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+ plot(t', JRDATA(1:end-2,4), 'linewidth', 2, 'color', 'red');
+else
+ plot(t', JRDATA(:,4), 'linewidth', 2, 'color', 'red');
+end
+
+set(ESVisualisationAxis.Muscle(45),...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'xlim', [0 str2double(get(ESGUIHandle.TimeFrameEdit, 'string'))],...
+ 'box', 'on',...
+ 'buttondownfcn', ESTIMATION_TOOL_script_generator('View Data', 45));
+%--------------------------------------------------------------------------
+% GH Joint Stability Criterion Plot
+%--------------------------------------------------------------------------
+% Create the glenoid stability plot
+teta = linspace(0, 2*pi, 100);
+Hay = DYDATA.ConeDimensions(1);
+Haz = DYDATA.ConeDimensions(2);
+
+Py = Hay*cos(teta);
+Pz = Haz*sin(teta);
+set(ESHandle, 'currentaxes', ESVisualisationAxis.Muscle(46,1));
+hold off;
+plot(Py, Pz, 'color', [0.7 0.7 0.7], 'linewidth', 2);
+hold on;
+if isequal(get(ESGUIHandle.MenuOptions(2,4), 'checked'), 'off')
+ plot(JRDATA(1:end-2,6), JRDATA(1:end-2,7), 'linewidth', 2, 'marker', 'o');
+else
+ plot(JRDATA(:,6), JRDATA(:,7), 'linewidth', 2, 'marker', 'o');
+end
+
+set(ESVisualisationAxis.Muscle(46),...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', ESTIMATION_TOOL_script_generator('View Data', 46));
+
+
+%--------------------------------------------------------------------------
+% display a message for the user to inform him/her that all the
+% optimization steps were conducted succesfully, ofcourse if this is the
+% case
+%--------------------------------------------------------------------------
+
+Annouce_prob = [];
+ProblemId = 1;
+for TimeId = 1:length(EFDATA{45, 1})
+ if ~(EFDATA{45, 1}(TimeId) == 1)
+ Annouce_prob(1, ProblemId) = TimeId;
+ ProblemId = 1 + ProblemId;
+ end
+end
+
+if isempty(Annouce_prob)
+ msgbox(['All the load-sharing steps were conducted successfuly'], 'Success');
+else
+ msgbox(['Problem in the following load-sharing steps were detected, check the optimization display details: ',...
+ num2str(Annouce_prob)], 'Failure');
+end
+
+% free up the workspace memory
+clear MSCNames LineTypeList t_org t MuscleID maximum_forces ylimit MuscleId teta Hay Haz Py Pz
+
+
diff --git a/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_main_file.m b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_main_file.m
new file mode 100755
index 0000000..dce4f4a
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_main_file.m
@@ -0,0 +1,599 @@
+%--------------------------------------------------------------------------
+%
+%
+% GUI FOR RUNNING THE INITIAL CONFIGURATION TOOL
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This is the main file for running the initial configuration tool. The
+% tool can be used to setup the initial geometric configuration of the
+% bones or reset the geometry to the initial data measured from AMIRA.
+%
+%--------------------------------------------------------------------------
+%
+% File Structure :
+% The GUI figure is created in IHandle. The pushbuttons are defined next,
+% followed by the initialisation script. All the GUI control structures are
+% contained in ICGUIHandle. The axis is called InitialVisualisationAxes.
+% All the graphics are contained in a single strucure : IPlotHandles.
+%
+%--------------------------------------------------------------------------
+%
+% Contents of the Interactive GUI structure :
+% PushButton Section
+% ICGUIHandle.Close_Button
+% ICGUIHandle.Save_Visualisation_Button
+% ICGUIHandle.Reset_Button
+%
+% Interactive Elements
+% ICGUIHandle.Title
+% ICGUIHandle.Clavicula_Axial_Rotation.Title
+% ICGUIHandle.Clavicula_Axial_Rotation.Slider
+% ICGUIHandle.Clavicula_Axial_Rotation.Edit
+% ICGUIHandle.Clavicula_Elevation_Rotation.Title
+% ICGUIHandle.Clavicula_Elevation_Rotation.Slider
+% ICGUIHandle.Clavicula_Elevation_Rotation.Edit
+% ICGUIHandle.Clavicula_Protraction_Rotation.Title
+% ICGUIHandle.Clavicula_Protraction_Rotation.Slider
+% ICGUIHandle.Clavicula_Protraction_Rotation.Edit
+% ICGUIHandle.Scpula_Tilt_Rotation.Title
+% ICGUIHandle.Scpula_Tilt_Rotation.Slider
+% ICGUIHandle.Scpula_Tilt_Rotation.Edit
+% ICGUIHandle.Scapula_Elevation_Rotation.Title
+% ICGUIHandle.Scapula_Elevation_Rotation.Slider
+% ICGUIHandle.Scapula_Elevation_Rotation.Edit
+% ICGUIHandle.Scapula_Protraction_Rotation.Title
+% ICGUIHandle.Scapula_Protraction_Rotation.Slider
+% ICGUIHandle.Scapula_Protraction_Rotation.Edit
+% ICGUIHandle.Humerus_Axial_Rotation.Title
+% ICGUIHandle.Humerus_Axial_Rotation.Slider
+% ICGUIHandle.Humerus_Axial_Rotation.Edit
+% ICGUIHandle.Humerus_Abduction_Rotation.Title
+% ICGUIHandle.Humerus_Abduction_Rotation.Slider
+% ICGUIHandle.Humerus_Abduction_Rotation.Edit
+% ICGUIHandle.Humerus_Elevation_Rotation.Title
+% ICGUIHandle.Humerus_Elevation_Rotation.Slider
+% ICGUIHandle.Humerus_Elevation_Rotation.Edit
+% ICGUIHandle.Ulna_Flexion_Rotation.Title
+% ICGUIHandle.Ulna_Flexion_Rotation.Slider
+% ICGUIHandle.Ulna_Flexion_Rotation.Edit
+% ICGUIHandle.Radius_Pronation_Rotation.Title
+% ICGUIHandle.Radius_Pronation_Rotation.Slider
+% ICGUIHandle.Radius_Pronation_Rotation.Edit
+%--------------------------------------------------------------------------
+%
+% The graphical hierarchy is :
+% IHandle
+% -> InitialVisualisationAxes
+% -> IPlotHandles
+%
+%--------------------------------------------------------------------------
+
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+IHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO UPPER EXTREMITY MODEL: INITIAL CONFIGURATION TOOLBOX');
+
+% Push Button for Closing the GUI
+ICGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.95, 0.35, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CLOSE GUI -------------------------------------------------</b><br><p style="font-size: 90%;"> <i>Closes this GUI and updates BLDATA</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Close Intial Tool'));
+
+% Push Button for Closing the GUI
+ICGUIHandle.Reset_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.9, 0.35, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- RESET JOINT ANGLES -----------------------------------</b><br><p style="font-size: 90%;"> <i>Resets the Joint angles to original values</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Reset Angles'));
+
+% Push Button for Closing the GUI
+ICGUIHandle.Save_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.85, 0.35, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- SAVE VISUALISATION ------------------------------------</b><br><p style="font-size: 90%;"> <i>Saves the current axis content</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Save Visualisation'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE CLAVICULA SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.8, 0.35, 0.015],...
+ 'fontsize', 14,...
+ 'string', 'Set Initial Joint Euler Angles (DEG)',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+%--------------------------------------------------------------------------
+% CLAVICULA AXIAL ROTATION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Clavicula_Axial_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.72, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Clavicula Forward Axial Rotation',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Clavicula_Axial_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.71, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Clavicula_Axial_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.72, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% CLAVICULA ELEVATION / DEPRESSION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Clavicula_Elevation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.66, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Clavicula Elevation (-)/Depression (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+ICGUIHandle.Clavicula_Elevation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.65, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -31.4362,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Clavicula_Elevation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.66, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-31.4362',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% CLAVICULA PROTRACTION / RETRACTION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Clavicula_Protraction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.6, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Clavicula Retraction (-) / Protraction (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+ICGUIHandle.Clavicula_Protraction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.59, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -14.8076,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Clavicula_Protraction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.6, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-14.8076',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE SCAPULA SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% SCAPULA SPINAL TILT ROTATION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Scapula_Tilt_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.54, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Scapula External Tilt(-)/Internal Tilt (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+ICGUIHandle.Scapula_Tilt_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.53, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -8.9392,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Scapula_Tilt_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.54, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-8.9392',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% SCAPULA ELEVATION / DEPRESSION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Scapula_Elevation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.48, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Scapula Depression (-)/Elevation (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+ICGUIHandle.Scapula_Elevation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.47, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -4.9374,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Scapula_Elevation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.48, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-4.9374',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% SCAPULA PROTRACTION / RETRACTION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Scapula_Protraction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.42, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Scapula Retraction (-)/Protraction(+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+ICGUIHandle.Scapula_Protraction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.41, 0.35, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', 29.2987,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Scapula_Protraction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.42, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '29.2987',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE HUMERUS SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% HUMERUS AXIAL ROTATION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Humerus_Axial_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.36, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Humerus Axial Rotation',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Humerus_Axial_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.35, 0.35, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', -85.4041,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Humerus_Axial_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.36, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-85.4041',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% HUMERUS ABDUCTION / ADDUCTION
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Humerus_Abduction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.3, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Humerus Adduction (+)/Abduction (-)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Humerus_Abduction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.29, 0.35, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', 9.7591,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Humerus_Abduction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.3, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '9.7591',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% HUMERUS ELEVATION PLANE
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Humerus_Elevation_Plane.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.24, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Humerus Elevation Plane',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Humerus_Elevation_Plane.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.23, 0.35, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', 129.6775,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator & Editor
+ICGUIHandle.Humerus_Elevation_Plane.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.24, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '129.6775',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE FOREARM SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% ULNA Extension(-)/Flexion(+)
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Ulna_Flexion_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.18, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Ulna Extension (-)/Flexion (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Ulna_Flexion_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.17, 0.35, 0.01],...
+ 'max', 150,...
+ 'min', 0,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Ulna_Flexion_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.18, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% RADIUS Supination (-)/Pronation (+)
+%--------------------------------------------------------------------------
+% Title
+ICGUIHandle.Radius_Pronation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.12, 0.25, 0.02],...
+ 'fontsize', 12,...
+ 'string', 'Radius Supination (-)/Pronation (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+ICGUIHandle.Radius_Pronation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.11, 0.35, 0.01],...
+ 'max', 0,...
+ 'min', -155,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+ICGUIHandle.Radius_Pronation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.12, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Update Joint Angles', 'Value Modified'));
+
+% Create a Help Menu
+ICGUIHandle.HelpMenu(1,1) = uimenu(IHandle,...
+ 'label', 'GUI HELP');
+ICGUIHandle.HelpMenu(2,1) = uimenu(ICGUIHandle.HelpMenu(1,1),...
+ 'label', 'About?',...
+ 'callback', INITIAL_CONFIGURATION_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Axes
+InitialVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.05, 0.6, 0.9]);
+
+% Set the Axis
+set(IHandle, 'currentaxes', InitialVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+IPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+IPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+IPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+IPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+IPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+IPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+IPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% Create the 3-D Wire Frame Visualisations
+IPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+IPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+IPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+IPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+IPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+IPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+% light('Position',[ 1, 0, 0],'Style','infinite');
+% light('Position',[ 0, 0, -10],'Style','local');
+% light('Position',[10, -50, 0],'Style','infinite');
+% colormap copper; % Give the bone meshings a bone color.
+% %box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+% material dull; % Define the bone meshing material. It removes the shiny effect.
+% axis equal; % Correct the apsect ratio.
+% zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+% view([135, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
+
+light('Position',[1 0 0],'Style','infinite');
+light('Position',[0 0 -10],'Style','local');
+light('Position',[10 -50 0],'Style','infinite');
+colormap copper;
+box on;
+material dull;
+%axis equal;
+axis ([-100 800 -200 800 -700 600])
+%zoom(1.3);
+view([165, 15]);
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_reset_angles.m b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_reset_angles.m
new file mode 100755
index 0000000..67a1191
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_reset_angles.m
@@ -0,0 +1,79 @@
+function [BLDATA, ICGUIHandle] = INITIAL_CONFIGURATION_reset_angles(BLDATA_in, ICGUIHandle_in)
+% Function for reseting the joint angles to the original configuration
+%--------------------------------------------------------------------------
+% Syntax :
+% [BLDATA, ICGUIHandle] = INITIAL_CONFIGURATION_reset_angles(BLDATA_in, ICGUIHandle_in)
+%--------------------------------------------------------------------------
+
+%
+% File Description :
+% This function resets all the joint angles to the original values of the
+% data set. It also resets the uicontrol values.
+%--------------------------------------------------------------------------
+
+% Create the outputs
+BLDATA = BLDATA_in;
+ICGUIHandle = ICGUIHandle_in;
+
+% Get the Euler Angles of the Original Matrices
+JEA0 = MAIN_TOOL_geometry_functions('Get Euler Angles From Original Rotation Matrices', BLDATA);
+
+%---------------------------------------------------------
+% CLAVICULA AXIAL ROTATION
+set(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value', JEA0(1)*180/pi);
+set(ICGUIHandle.Clavicula_Axial_Rotation.Edit, 'string', num2str(JEA0(1)*180/pi));
+%---------------------------------------------------------
+% CLAVICULA ELEVATION
+set(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value', JEA0(2)*180/pi);
+set(ICGUIHandle.Clavicula_Elevation_Rotation.Edit, 'string', num2str(JEA0(2)*180/pi));
+%---------------------------------------------------------
+% CLAVICULA PROTRACTION
+set(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value', JEA0(3)*180/pi);
+set(ICGUIHandle.Clavicula_Protraction_Rotation.Edit, 'string', num2str(JEA0(3)*180/pi));
+%---------------------------------------------------------
+% SCAPULA AXIAL TILT
+set(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value', JEA0(4)*180/pi);
+set(ICGUIHandle.Scapula_Tilt_Rotation.Edit, 'string', num2str(JEA0(4)*180/pi));
+%---------------------------------------------------------
+% SCAPULA ELEVATION
+set(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value', JEA0(5)*180/pi);
+set(ICGUIHandle.Scapula_Elevation_Rotation.Edit, 'string', num2str(JEA0(5)*180/pi));
+%---------------------------------------------------------
+% SCAPULA PROTRACTION
+set(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value', JEA0(6)*180/pi);
+set(ICGUIHandle.Scapula_Protraction_Rotation.Edit, 'string', num2str(JEA0(6)*180/pi));
+%---------------------------------------------------------
+% HUMERUS AXIAL ROTATION
+set(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value', JEA0(7)*180/pi);
+set(ICGUIHandle.Humerus_Axial_Rotation.Edit, 'string', num2str(JEA0(7)*180/pi));
+%---------------------------------------------------------
+% HUMERUS ELEVATION
+set(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value', JEA0(8)*180/pi);
+set(ICGUIHandle.Humerus_Abduction_Rotation.Edit, 'string', num2str(JEA0(8)*180/pi));
+%---------------------------------------------------------
+% HUMERUS ELEVATION PLANE
+set(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value', JEA0(9)*180/pi);
+set(ICGUIHandle.Humerus_Elevation_Plane.Edit, 'string', num2str(JEA0(9)*180/pi));
+%---------------------------------------------------------
+% ULNA Flexion
+set(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value', round(JEA0(10)*180/pi));
+set(ICGUIHandle.Ulna_Flexion_Rotation.Edit, 'string', num2str(round(JEA0(10)*180/pi)));
+%---------------------------------------------------------
+% RADIUS Pronation
+set(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value', round(JEA0(11)*180/pi));
+set(ICGUIHandle.Radius_Pronation_Rotation.Edit, 'string', num2str(round(JEA0(11)*180/pi)));
+
+%--------------------------------------------------------------------------
+% RESET ALL THE BONY LANDMARK DATA
+%--------------------------------------------------------------------------
+% Reset the initial configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Initial Bony Landmark Data from Joint Rotation Matrices',...
+ BLDATA.Original_Matrices_L2A.Rc, BLDATA.Original_Matrices_L2A.Rs, BLDATA.Original_Matrices_L2A.Rh, BLDATA.Original_Matrices_L2A.Ru, BLDATA.Original_Matrices_L2A.Rr, BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices',...
+ BLDATA.Original_Matrices_L2A.Rc, BLDATA.Original_Matrices_L2A.Rs, BLDATA.Original_Matrices_L2A.Rh, BLDATA.Original_Matrices_L2A.Ru, BLDATA.Original_Matrices_L2A.Rr, BLDATA);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_script_generator.m b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_script_generator.m
new file mode 100755
index 0000000..75407e8
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_script_generator.m
@@ -0,0 +1,115 @@
+function CBScript = INITIAL_CONFIGURATION_script_generator(task, varargin)
+% Intial Configuration GUI Callback script generator
+%--------------------------------------------------------------------------
+% Syntax :
+% CBScript = INITIAL_CONFIGURATION_script_generator(task, varargin)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function generates scripts for the initial configuration GUI. The
+% scripts are generated as text arrays. The task input variable inidicates
+% which script to return.
+% varargin contains extra information: type of uicontrol being modified,
+% which angle is being changed.
+%
+% List of Scripts :
+% 1) Close Intial Tool
+% 2) Update Joint Angles
+% 3) Reset Angles
+% 4) Save Visualisation
+% 5) Help
+%
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the GUI & Save All related data
+% This script closes the gui and clears the variables. This script also
+% redefined data which is necessary for other parts of the model like the
+% kinematic data (initial values of the minimal coordinates). The ellipsoid
+% data is also changed (scaling factors for TS and AI ellipsoid).
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Intial Tool')
+ % The data structures which are dependent on the initial bony landmark
+ % configuration are recomputed.
+ CBScript = [...
+ 'REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA);',...
+ 'KEDATA = MAIN_INITIALISATION_build_data_kinematics(REDATA, BLDATA);',...
+ 'clear ICGUIHandle;',...
+ 'clear IPlotHandles;',...
+ 'clear InitialVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear IHandle;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Update the Joint Angles
+% Script which is run when a slider or a edit box is changed by the user.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Joint Angles')
+ % Get the uicontrol modification type
+ Mode = varargin{1,1};
+
+ % Create script for the type of uicontrol that was modified
+ if isequal(Mode, 'Slider Modified')
+ CBScript = [...
+ '[BLDATA, ICGUIHandle] =',...
+ 'INITIAL_CONFIGURATION_slider_modification(''Slider Modified'', BLDATA, ICGUIHandle);',...
+ '[IPlotHandles] = INITIAL_CONFIGURATION_update_visualisation(IPlotHandles, BLDATA, MEDATA);'];
+ elseif isequal(Mode, 'Value Modified')
+ CBScript = [...
+ '[BLDATA, ICGUIHandle] =',...
+ 'INITIAL_CONFIGURATION_slider_modification(''Value Modified'', BLDATA, ICGUIHandle);',...
+ '[IPlotHandles] = INITIAL_CONFIGURATION_update_visualisation(IPlotHandles, BLDATA, MEDATA);'];
+ else
+
+ end
+%--------------------------------------------------------------------------
+% Task 3 : Reset the Joint Angles
+% Resets the joint angles to the values in which they were initially
+% obtained.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Reset Angles')
+ CBScript = [...
+ '[BLDATA, ICGUIHandle] = ',...
+ 'INITIAL_CONFIGURATION_reset_angles(BLDATA, ICGUIHandle);',...
+ '[IPlotHandles] = INITIAL_CONFIGURATION_update_visualisation(IPlotHandles, BLDATA, MEDATA);'];
+
+%--------------------------------------------------------------------------
+% Task 4 : Save the Current Visualisation
+% Saves the current visualisation using the main function
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Visualisation')
+ CBScript = 'MAIN_TOOL_save_visualisation(IHandle, 2);';
+
+%--------------------------------------------------------------------------
+% Task 5 : Help
+% Displays the information text in the command window when the user clicks
+% on the help menu.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [
+ 'sprintf([''----------------- INITIAL CONFIGURATION TOOL -----------------------\n'', ',...
+ ' ''This tool let you select an initial configuration for the model. The joint angles\n'',',...
+ ' ''can be selected to impose a new configuration. If a mistake is made, the reset button\n'',',...
+ ' ''will reset all the angles back to their original values in which they were obtained.'']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'INITIAL_CONFIGURATION_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Intial Tool,\n',...
+ '2) Update Joint Angles,\n',...
+ '3) Reset Angles,\n',...
+ '4) Save Visualisation.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_slider_modification.m b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_slider_modification.m
new file mode 100755
index 0000000..cd4794c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_slider_modification.m
@@ -0,0 +1,143 @@
+function [BLDATA, ICGUIHandle] = INITIAL_CONFIGURATION_slider_modification(task, BLDATA_in, ICGUIHandle_in)
+% Function for modifying the Initial Configuration GUI uicontrols.
+%--------------------------------------------------------------------------
+% Syntax :
+% [BLDATA, ICGUIHandle] = INITIAL_CONFIGURATION_slider_modification(task, BLDATA_in, ICGUIHandle_in)
+%--------------------------------------------------------------------------
+% File Description :
+% This function updates the initial configuration every time a slider or
+% edit box is modified in the initial configuration toolbox.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+BLDATA = BLDATA_in;
+ICGUIHandle = ICGUIHandle_in;
+
+%--------------------------------------------------------------------------
+% Update the Settings of the uicontrols from the initial configuration GUI
+%--------------------------------------------------------------------------
+if isequal(task, 'Slider Modified')
+ %---------------------------------------------------------
+ % CLAVICULA AXIAL ROTATION
+ set(ICGUIHandle.Clavicula_Axial_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % CLAVICULA ELEVATION
+ set(ICGUIHandle.Clavicula_Elevation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % CLAVICULA PROTRACTION
+ set(ICGUIHandle.Clavicula_Protraction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA AXIAL TILT
+ set(ICGUIHandle.Scapula_Tilt_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA ELEVATION
+ set(ICGUIHandle.Scapula_Elevation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA PROTRACTION
+ set(ICGUIHandle.Scapula_Protraction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS AXIAL ROTATION
+ set(ICGUIHandle.Humerus_Axial_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION
+ set(ICGUIHandle.Humerus_Abduction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION PLANE
+ set(ICGUIHandle.Humerus_Elevation_Plane.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value')));
+ %--------------------------------------------------------------------------
+ % ULNA Flexion
+ set(ICGUIHandle.Ulna_Flexion_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value')));
+ %--------------------------------------------------------------------------
+ % RADIUS Pronation
+ set(ICGUIHandle.Radius_Pronation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value')));
+
+elseif isequal(task, 'Value Modified')
+ %---------------------------------------------------------
+ % CLAVICULA AXIAL ROTATION
+ set(ICGUIHandle.Clavicula_Axial_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Axial_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % CLAVICULA ELEVATION
+ set(ICGUIHandle.Clavicula_Elevation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Elevation_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % CLAVICULA PROTRACTION
+ set(ICGUIHandle.Clavicula_Protraction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Protraction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA AXIAL TILT
+ set(ICGUIHandle.Scapula_Tilt_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Tilt_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA ELEVATION
+ set(ICGUIHandle.Scapula_Elevation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Elevation_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA PROTRACTION
+ set(ICGUIHandle.Scapula_Protraction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Protraction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS AXIAL ROTATION
+ set(ICGUIHandle.Humerus_Axial_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Axial_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION
+ set(ICGUIHandle.Humerus_Abduction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Abduction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION PLANE
+ set(ICGUIHandle.Humerus_Elevation_Plane.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Elevation_Plane.Edit, 'string')));
+ %--------------------------------------------------------------------------
+ % ULNA Flexion
+ set(ICGUIHandle.Ulna_Flexion_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Ulna_Flexion_Rotation.Edit, 'string')));
+ %--------------------------------------------------------------------------
+ % RADIUS Pronation
+ set(ICGUIHandle.Radius_Pronation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Radius_Pronation_Rotation.Edit, 'string')));
+ % The desired task is not valid
+else
+ error('myApp:TaskCheck', 'Not A Valid Task!');
+end
+
+%--------------------------------------------------------------------------
+% UPDATE THE CURRENT ROTATION MATRICES
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+% Get All Current Euler Angles
+EAList(1,1) = get(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value');
+EAList(2,1) = get(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value');
+EAList(3,1) = get(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value');
+EAList(4,1) = get(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value');
+EAList(5,1) = get(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value');
+EAList(6,1) = get(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value');
+EAList(7,1) = get(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value');
+EAList(8,1) = get(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value');
+EAList(9,1) = get(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value');
+EAList(10,1) = get(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value');
+EAList(11,1) = get(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value');
+
+
+% Build the New Initial Rotation Matrices
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', EAList*pi/180, BLDATA);
+
+% Update the initial configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Initial Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+return;
+
diff --git a/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_update_visualisation.m b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_update_visualisation.m
new file mode 100755
index 0000000..994098d
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Initial_Configuration/INITIAL_CONFIGURATION_update_visualisation.m
@@ -0,0 +1,39 @@
+function [PlotHandles] = INITIAL_CONFIGURATION_update_visualisation(PHandles, BLDATA, MEDATA)
+% Function for updating the initial configuration GUI visulisation.
+%--------------------------------------------------------------------------
+% Syntax :
+% [PlotHandles] = INITIAL_CONFIGURATION_update_visualisation(PHandles, BLDATA, MEDATA)
+%--------------------------------------------------------------------------
+%
+
+% File Description :
+% This function updates the current visualisation of the initial
+% configuration tool.
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+PlotHandles = PHandles;
+
+%--------------------------------------------------------------------------
+% Update All the Meshings
+%--------------------------------------------------------------------------
+PlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(1), MEDATA, 0, BLDATA);
+PlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(2), MEDATA, 1, BLDATA);
+PlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(3), MEDATA, 2, BLDATA);
+PlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(4), MEDATA, 3, BLDATA);
+PlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(5), MEDATA, 4, BLDATA);
+PlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(6), MEDATA, 5, BLDATA);
+PlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing(PlotHandles.MeshHandle(7), MEDATA, 6, BLDATA);
+
+
+%--------------------------------------------------------------------------
+% Update All the Wire Frames
+%--------------------------------------------------------------------------
+PlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(1), 0, BLDATA);
+PlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(2), 1, BLDATA);
+PlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(3), 2, BLDATA);
+PlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(4), 3, BLDATA);
+PlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(5), 4, BLDATA);
+PlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe(PlotHandles.WireFrameHandle(6), 5, BLDATA);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_change_cone.m b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_change_cone.m
new file mode 100755
index 0000000..bb4770d
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_change_cone.m
@@ -0,0 +1,224 @@
+function [JCDATA, JGUIHandle] = JOINT_CONE_TOOL_change_cone(task, SliderId, ConeId, JCDATA_in, JGUIHandle_in)
+% UICONTROL Callback updates the cone date when a uicontrol is modified
+%--------------------------------------------------------------------------
+% Syntax :
+% [JCDATA, JGUIHandle] = JOINT_CONE_TOOL_change_cone(task, SliderId, ConeId, JCDATA_in, JGUIHandle_in)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function updates the cone date when a uicontrol from the joint tool
+% is modified.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+JCDATA = JCDATA_in;
+JGUIHandle = JGUIHandle_in;
+
+%--------------------------------------------------------------------------
+% THE SLIDER WAS MODIFIED
+%--------------------------------------------------------------------------
+if isequal(task, 'Slider Modified')
+ switch ConeId
+ case 1
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditDimx, 'string', num2str(get(JGUIHandle.SCCone.SliderDimx, 'value')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditDimy, 'string', num2str(get(JGUIHandle.SCCone.SliderDimy, 'value')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditDimz, 'string', num2str(get(JGUIHandle.SCCone.SliderDimz, 'value')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditAnglex, 'string', num2str(get(JGUIHandle.SCCone.SliderAnglex, 'value')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditAngley, 'string', num2str(get(JGUIHandle.SCCone.SliderAngley, 'value')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.EditAnglez, 'string', num2str(get(JGUIHandle.SCCone.SliderAnglez, 'value')));
+ end
+ case 2
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditDimx, 'string', num2str(get(JGUIHandle.ACCone.SliderDimx, 'value')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditDimy, 'string', num2str(get(JGUIHandle.ACCone.SliderDimy, 'value')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditDimz, 'string', num2str(get(JGUIHandle.ACCone.SliderDimz, 'value')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditAnglex, 'string', num2str(get(JGUIHandle.ACCone.SliderAnglex, 'value')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditAngley, 'string', num2str(get(JGUIHandle.ACCone.SliderAngley, 'value')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.EditAnglez, 'string', num2str(get(JGUIHandle.ACCone.SliderAnglez, 'value')));
+ end
+ case 3
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditDimx, 'string', num2str(get(JGUIHandle.GHCone.SliderDimx, 'value')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditDimy, 'string', num2str(get(JGUIHandle.GHCone.SliderDimy, 'value')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditDimz, 'string', num2str(get(JGUIHandle.GHCone.SliderDimz, 'value')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditAnglex, 'string', num2str(get(JGUIHandle.GHCone.SliderAnglex, 'value')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditAngley, 'string', num2str(get(JGUIHandle.GHCone.SliderAngley, 'value')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.EditAnglez, 'string', num2str(get(JGUIHandle.GHCone.SliderAnglez, 'value')));
+ end
+ end
+%--------------------------------------------------------------------------
+% THE VALUE WAS MODIFIED
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Value Modified')
+ switch ConeId
+ case 1
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderDimx, 'value', str2double(get(JGUIHandle.SCCone.EditDimx, 'string')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderDimy, 'value', str2double(get(JGUIHandle.SCCone.EditDimy, 'string')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderDimz, 'value', str2double(get(JGUIHandle.SCCone.EditDimz, 'string')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderAnglex, 'value', str2double(get(JGUIHandle.SCCone.EditAnglex, 'string')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderAngley, 'value', str2double(get(JGUIHandle.SCCone.EditAngley, 'string')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderAnglez, 'value', str2double(get(JGUIHandle.SCCone.EditAnglez, 'string')));
+ end
+ case 2
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.SliderDimx, 'value', str2double(get(JGUIHandle.ACCone.EditDimx, 'string')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.SliderDimy, 'value', str2double(get(JGUIHandle.ACCone.EditDimy, 'string')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.SCCone.SliderDimz, 'value', str2double(get(JGUIHandle.ACCone.EditDimz, 'string')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.SliderAnglex, 'value', str2double(get(JGUIHandle.ACCone.EditAnglex, 'string')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.SliderAngley, 'value', str2double(get(JGUIHandle.ACCone.EditAngley, 'string')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.ACCone.SliderAnglez, 'value', str2double(get(JGUIHandle.ACCone.EditAnglez, 'string')));
+ end
+ case 3
+ switch SliderId
+ %---------------------------------------------------------
+ case 1 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderDimx, 'value', str2double(get(JGUIHandle.GHCone.EditDimx, 'string')));
+ %---------------------------------------------------------
+ case 2 % CONE BASE DIMENSION 1
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderDimy, 'value', str2double(get(JGUIHandle.GHCone.EditDimy, 'string')));
+ %---------------------------------------------------------
+ case 3 % CONE HEIGHT
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderDimz, 'value', str2double(get(JGUIHandle.GHCone.EditDimz, 'string')));
+ %---------------------------------------------------------
+ case 4 % CONE X-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderAnglex, 'value', str2double(get(JGUIHandle.GHCone.EditAnglex, 'string')));
+ %---------------------------------------------------------
+ case 5 % CONE Y-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderAngley, 'value', str2double(get(JGUIHandle.GHCone.EditAngley, 'string')));
+ %---------------------------------------------------------
+ case 6 % CONE Z-AXIS ANGLE
+ % Set the value of the text edit
+ set(JGUIHandle.GHCone.SliderAnglez, 'value', str2double(get(JGUIHandle.GHCone.EditAnglez, 'string')));
+ end
+ end
+else
+ error('myApp:TaskCheck', 'Not A Valid Task!');
+end
+
+%--------------------------------------------------------------------------
+% Set the JCDATA structure values
+%--------------------------------------------------------------------------
+switch ConeId
+ case 1 % SC CONE DATA
+ JCDATA.SCCone.ConeAngle = [str2double(get(JGUIHandle.SCCone.EditAnglex, 'string'));
+ str2double(get(JGUIHandle.SCCone.EditAngley, 'string'));
+ str2double(get(JGUIHandle.SCCone.EditAnglez, 'string'))]*pi/180;
+ JCDATA.SCCone.Dimensions = [str2double(get(JGUIHandle.SCCone.EditDimx, 'string'));
+ str2double(get(JGUIHandle.SCCone.EditDimy, 'string'));
+ str2double(get(JGUIHandle.SCCone.EditDimz, 'string'))];
+ case 2 % AC CONE DATA
+ JCDATA.ACCone.ConeAngle = [str2double(get(JGUIHandle.ACCone.EditAnglex, 'string'));
+ str2double(get(JGUIHandle.ACCone.EditAngley, 'string'));
+ str2double(get(JGUIHandle.ACCone.EditAnglez, 'string'))]*pi/180;
+ JCDATA.ACCone.Dimensions = [str2double(get(JGUIHandle.ACCone.EditDimx, 'string'));
+ str2double(get(JGUIHandle.ACCone.EditDimy, 'string'));
+ str2double(get(JGUIHandle.ACCone.EditDimz, 'string'))];
+ case 3 % GH CONE DATA
+ JCDATA.GHCone.ConeAngle = [str2double(get(JGUIHandle.GHCone.EditAnglex, 'string'));
+ str2double(get(JGUIHandle.GHCone.EditAngley, 'string'));
+ str2double(get(JGUIHandle.GHCone.EditAnglez, 'string'))]*pi/180;
+ JCDATA.GHCone.Dimensions = [str2double(get(JGUIHandle.GHCone.EditDimx, 'string'));
+ str2double(get(JGUIHandle.GHCone.EditDimy, 'string'));
+ str2double(get(JGUIHandle.GHCone.EditDimz, 'string'))];
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_main_file.m
new file mode 100755
index 0000000..8d91fa8
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_main_file.m
@@ -0,0 +1,845 @@
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% GUI FOR RUNNING THE JOINT SINUS CONE TOOL
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This file creates a GUI which allows the used to modify the joint sinus
+% cones of the model. These cones are not used for now but could be in the
+% future to limit the joint angles.
+%
+%--------------------------------------------------------------------------
+%
+% File Structure :
+% The GUI figure is created in MHandle. The pushbuttons are defined next,
+% followed by the initialisation script. All the GUI control structures are
+% contained in JGUIHandle. The axis is called JointVisualisationAxes.
+% All the graphics are contained in a single strucure : JCPlotHandles.
+%
+%--------------------------------------------------------------------------
+%
+% Contents of the Interactive GUI structure :
+% PushButton Section
+% JGUIHandle.Close_Button
+% JGUIHandle.Save_Visualisation_Button
+% JGUIHandle.Reset_Button
+%
+% SC Cone Items
+% JGUIHandle.SCCone.TextTitle
+% JGUIHandle.SCCone.TextDimx
+% JGUIHandle.SCCone.SliderDimx
+% JGUIHandle.SCCone.EditDimx
+% JGUIHandle.SCCone.TextDimy
+% JGUIHandle.SCCone.SliderDimy
+% JGUIHandle.SCCone.EditDimy
+% JGUIHandle.SCCone.TextDimz
+% JGUIHandle.SCCone.SliderDimz
+% JGUIHandle.SCCone.EditDimz
+% JGUIHandle.SCCone.TextAnglex
+% JGUIHandle.SCCone.SliderAnglex
+% JGUIHandle.SCCone.EditAnglex
+% JGUIHandle.SCCone.TextAngley
+% JGUIHandle.SCCone.SliderAngley
+% JGUIHandle.SCCone.EditAngley
+% JGUIHandle.SCCone.TextAnglez
+% JGUIHandle.SCCone.SliderAnglez
+% JGUIHandle.SCCone.EditAnglez
+%
+% All the previous list is comon to AC and GH.
+%
+%--------------------------------------------------------------------------
+%
+% The graphical hierarchy is :
+% JHandle
+% -> JointVisualisationAxes
+% -> JPlotHandles
+%
+%--------------------------------------------------------------------------
+
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+JHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LA - LBO SHOULDER MODEL: JOINT SINUS CONE TOOLBOX');
+
+%--------------------------------------------------------------------------
+% CREATE THE BUTTONS
+%--------------------------------------------------------------------------
+% Push Button for Closing the GUI
+JGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- CLOSE GUI -----------------------------------------</b><br><p style="font-size: 90%;"><i>Closes the joint tool GUI.</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Close Joint Tool'));
+
+% Push Button for Visualising the Ellipsoid
+JGUIHandle.Save_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.9, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- SAVE VISUALISATION ----------------------------</b><br><p style="font-size: 90%;"><i>Save''s the GUI''s current visualisation.</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Save Visualisation'));
+
+% Push Button for Visualising the Ellipsoid
+JGUIHandle.Reset_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.85, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html><b>- RESET CONE DATA -------------------------------</b><br><p style="font-size: 90%;"><i>Restes the data to original values.</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Reset Cone Data'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE USER INTERFACE OF SC CONE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Title
+JGUIHandle.SCCone.TextTitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.4, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'SC JOINT SINUS CONES PARAMETERS',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+% X AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 1: Title
+JGUIHandle.SCCone.TextDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.37, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 1:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 1: Slider
+JGUIHandle.SCCone.SliderDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.36, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 42,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 1, 1));
+
+% Base Axis 1: Edit Box
+JGUIHandle.SCCone.EditDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.37, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '42',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 1, 1));
+
+%--------------------------------------------------------------------------
+% Y AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 2: Title
+JGUIHandle.SCCone.TextDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.31, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 2:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 2: Slider
+JGUIHandle.SCCone.SliderDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.3, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 25,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 1, 1));
+
+% Base Axis 2: Edit Box
+JGUIHandle.SCCone.EditDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.31, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '25',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 2, 1));
+
+%--------------------------------------------------------------------------
+% Z AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Cone Height: Title
+JGUIHandle.SCCone.TextDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.25, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Height:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Height: Slider
+JGUIHandle.SCCone.SliderDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.24, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 100,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 3, 1));
+
+% Cone Height: Edit Box
+JGUIHandle.SCCone.EditDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.25, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '100',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 3, 1));
+
+%--------------------------------------------------------------------------
+% X ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle X: Title
+JGUIHandle.SCCone.TextAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.19, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle X:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle X: Slider
+JGUIHandle.SCCone.SliderAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.18, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', -80.1568,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 4, 1));
+
+% Cone Angle X: Edit Box
+JGUIHandle.SCCone.EditAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.19, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '-80.1568',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 4, 1));
+
+%--------------------------------------------------------------------------
+% Y ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Y: Title
+JGUIHandle.SCCone.TextAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.13, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Y:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Y: Slider
+JGUIHandle.SCCone.SliderAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.12, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', -3.3805,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 5, 1));
+
+% Cone Angle Y: Edit Box
+JGUIHandle.SCCone.EditAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.13, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '-3.3805',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 5, 1));
+
+%--------------------------------------------------------------------------
+% Z ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Z: Title
+JGUIHandle.SCCone.TextAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.07, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Z:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Z: Slider
+JGUIHandle.SCCone.SliderAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.06, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', -0.6303,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 6, 1));
+
+% Cone Angle Z: Edit Box
+JGUIHandle.SCCone.EditAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.15, 0.07, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '-0.6202',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 6, 1));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE USER INTERFACE OF AC CONE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+JGUIHandle.ACCone.Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.4, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'AC JOINT SINUS CONES PARAMETERS',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+% X AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 1: Title
+JGUIHandle.ACCone.TextDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.37, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 1:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 1: Slider
+JGUIHandle.ACCone.SliderDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.36, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 10.5,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 1, 2));
+
+% Base Axis 1: Edit Box
+JGUIHandle.ACCone.EditDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.37, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '10.5',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 1, 2));
+
+%--------------------------------------------------------------------------
+% Y AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 2: Title
+JGUIHandle.ACCone.TextDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.31, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 2:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 2: Slider
+JGUIHandle.ACCone.SliderDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.3, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 8.1,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 2, 2));
+
+% Base Axis 2: Edit Box
+JGUIHandle.ACCone.EditDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.31, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '8.1',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 2, 2));
+
+%--------------------------------------------------------------------------
+% Z AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Cone Height: Title
+JGUIHandle.ACCone.TextDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.25, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Height:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Height: Slider
+JGUIHandle.ACCone.SliderDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.24, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 30,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 3, 2));
+
+% Cone Height: Edit Box
+JGUIHandle.ACCone.EditDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.25, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '30',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 3, 2));
+
+%--------------------------------------------------------------------------
+% X ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle X: Title
+JGUIHandle.ACCone.TextAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.19, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle X:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle X: Slider
+JGUIHandle.ACCone.SliderAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.18, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 1.0886,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 4, 2));
+
+% Cone Angle X: Edit Box
+JGUIHandle.ACCone.EditAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.19, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '1.0886',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 4, 2));
+
+%--------------------------------------------------------------------------
+% Y ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Y: Title
+JGUIHandle.ACCone.TextAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.13, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Y:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Y: Slider
+JGUIHandle.ACCone.SliderAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.12, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 5.1566,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 5, 2));
+
+% Cone Angle Y: Edit Box
+JGUIHandle.ACCone.EditAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.13, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '5.1566',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 5, 2));
+
+%--------------------------------------------------------------------------
+% Z ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Z: Title
+JGUIHandle.ACCone.TextAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.07, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Z:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Z: Slider
+JGUIHandle.ACCone.SliderAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.06, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 154.2975,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 6, 2));
+
+% Cone Angle Z: Edit Box
+JGUIHandle.ACCone.EditAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.07, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '154.2975',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 6, 2));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE USER INTERFACE OF GH CONE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+JGUIHandle.GHCone.Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.4, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'GH JOINT SINUS CONES PARAMETERS',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+% X AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 1: Title
+JGUIHandle.GHCone.TextDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.37, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 1:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 1: Slider
+JGUIHandle.GHCone.SliderDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.36, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 96,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 1, 3));
+
+% Base Axis 1: Edit Box
+JGUIHandle.GHCone.EditDimx = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.37, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '96',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 1, 3));
+
+%--------------------------------------------------------------------------
+% Y AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Base Axis 2: Title
+JGUIHandle.GHCone.TextDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.31, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Base Axes 2:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Base Axis 2: Slider
+JGUIHandle.GHCone.SliderDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.3, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 44,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 2, 3));
+
+% Base Axis 2: Edit Box
+JGUIHandle.GHCone.EditDimy = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.31, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '44',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 2, 3));
+
+%--------------------------------------------------------------------------
+% Z AXIS PARAMETER
+%--------------------------------------------------------------------------
+% Cone Height: Title
+JGUIHandle.GHCone.TextDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.25, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Height:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Height: Slider
+JGUIHandle.GHCone.SliderDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.24, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 40,...
+ 'Max', 200,...
+ 'Min', 0,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 3, 3));
+
+% Cone Height: Edit Box
+JGUIHandle.GHCone.EditDimz = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.25, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '40',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 3, 3));
+
+%--------------------------------------------------------------------------
+% X ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle X: Title
+JGUIHandle.GHCone.TextAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.19, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle X:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle X: Slider
+JGUIHandle.GHCone.SliderAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.18, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', -40.1643,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 4, 3));
+
+% Cone Angle X: Edit Box
+JGUIHandle.GHCone.EditAnglex = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.19, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '-40.1643',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 4, 3));
+
+%--------------------------------------------------------------------------
+% Y ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Y: Title
+JGUIHandle.GHCone.TextAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.13, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Y:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Y: Slider
+JGUIHandle.GHCone.SliderAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.12, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', -37.8152,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 5, 3));
+
+% Cone Angle Y: Edit Box
+JGUIHandle.GHCone.EditAngley = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.13, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '-37.8152',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 5, 3));
+
+%--------------------------------------------------------------------------
+% Z ANGLE PARAMETER
+%--------------------------------------------------------------------------
+% Cone Angle Z: Title
+JGUIHandle.GHCone.TextAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.07, 0.15, 0.02],...
+ 'backgroundcolor', 'white',...
+ 'style', 'text',...
+ 'string', 'Cone Angle Z:',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Cone Angle Z: Slider
+JGUIHandle.GHCone.SliderAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.06, 0.3, 0.01],...
+ 'style', 'slider',...
+ 'value', 143.9270,...
+ 'Max', 180,...
+ 'Min', -180,...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Slider Modified', 6, 3));
+
+% Cone Angle Z: Edit Box
+JGUIHandle.GHCone.EditAnglez = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.07, 0.15, 0.04],...
+ 'backgroundcolor', 'white',...
+ 'style', 'edit',...
+ 'string', '143.9270',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Cone Data Modified', 'Value Modified', 6, 3));
+
+% Create a Help menu
+JGUIHandle.Help(1,1) = uimenu(JHandle,...
+ 'label', 'JOINT CONE GUI HELP');
+JGUIHandle.Help(2,1) = uimenu(JGUIHandle.Help(1,1),...
+ 'label', 'About?',...
+ 'callback', JOINT_CONE_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION OF THE VISUALISATION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Axis
+JointVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.43, 0.6, 0.57]);
+
+% Set the Axis
+set(JHandle, 'currentaxes', JointVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+JPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+JPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+JPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+JPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+
+% Create the 3-D Wire Frame Visualisations
+JPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+JPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+JPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+JPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+
+% Plot the Joint Sinus Cones
+JPlotHandles.ConeHandle(1) = VISUALISATION_view_joint_sinus_cones([], JCDATA, BLDATA, 1);
+JPlotHandles.ConeHandle(2) = VISUALISATION_view_joint_sinus_cones([], JCDATA, BLDATA, 2);
+JPlotHandles.ConeHandle(3) = VISUALISATION_view_joint_sinus_cones([], JCDATA, BLDATA, 3);
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+light('Position',[ 1, 0, 0],'Style','infinite');
+light('Position',[ 0, 0, -10],'Style','local');
+light('Position',[10, -50, 0],'Style','infinite');
+colormap copper; % Give the bone meshings a bone color.
+box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+material dull; % Define the bone meshing material. It removes the shiny effect.
+axis equal; % Correct the apsect ratio.
+zoom(1.4); % Zoom in on the visualisation. otherwise it looks very small.
+view([135, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_reset_values.m b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_reset_values.m
new file mode 100755
index 0000000..2b43491
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_reset_values.m
@@ -0,0 +1,47 @@
+function [JGUIHandle] = JOINT_CONE_TOOL_reset_values(JCDATA, JGUIHandle_in)
+% Function which resets the cones to their original settings.
+%--------------------------------------------------------------------------
+% Syntax :
+% [JGUIHandle] = JOINT_CONE_TOOL_reset_values(JCDATA, JGUIHandle_in)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function resets all the joint sinus cone data to the original
+% values.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+JGUIHandle = JGUIHandle_in;
+
+% List of parameters
+ParamList = {'Dimx', 'Dimy', 'Dimz', 'Anglex', 'Angley', 'Anglez'};
+
+for i = 1:3
+ %----------------------------------------------------------------------
+ % RESET SC CONE PARAMETETS
+ %----------------------------------------------------------------------
+ eval(['set(JGUIHandle.SCCone.Slider', ParamList{1,i}, ', ''value'', JCDATA.SCCone.Dimensions(', num2str(i), '));']);
+ eval(['set(JGUIHandle.SCCone.Slider', ParamList{1,i+3}, ', ''value'', JCDATA.SCCone.ConeAngle(', num2str(i), ')*180/pi);']);
+ eval(['set(JGUIHandle.SCCone.Edit', ParamList{1,i}, ', ''string'', num2str(JCDATA.SCCone.Dimensions(', num2str(i), ')));']);
+ eval(['set(JGUIHandle.SCCone.Edit', ParamList{1,i+3}, ', ''string'', num2str(JCDATA.SCCone.ConeAngle(', num2str(i), ')*180/pi));']);
+
+ %----------------------------------------------------------------------
+ % RESET AC CONE PARAMETETS
+ %----------------------------------------------------------------------
+ eval(['set(JGUIHandle.ACCone.Slider', ParamList{1,i}, ', ''value'', JCDATA.ACCone.Dimensions(', num2str(i), '));']);
+ eval(['set(JGUIHandle.ACCone.Slider', ParamList{1,i+3}, ', ''value'', JCDATA.ACCone.ConeAngle(', num2str(i), ')*180/pi);']);
+ eval(['set(JGUIHandle.ACCone.Edit', ParamList{1,i}, ', ''string'', num2str(JCDATA.ACCone.Dimensions(', num2str(i), ')));']);
+ eval(['set(JGUIHandle.ACCone.Edit', ParamList{1,i+3}, ', ''string'', num2str(JCDATA.ACCone.ConeAngle(', num2str(i), ')*180/pi));']);
+
+ %----------------------------------------------------------------------
+ % RESET GH CONE PARAMETETS
+ %----------------------------------------------------------------------
+ eval(['set(JGUIHandle.GHCone.Slider', ParamList{1,i}, ', ''value'', JCDATA.GHCone.Dimensions(', num2str(i), '));']);
+ eval(['set(JGUIHandle.GHCone.Slider', ParamList{1,i+3}, ', ''value'', JCDATA.GHCone.ConeAngle(', num2str(i), ')*180/pi);']);
+ eval(['set(JGUIHandle.GHCone.Edit', ParamList{1,i}, ', ''string'', num2str(JCDATA.GHCone.Dimensions(', num2str(i), ')));']);
+ eval(['set(JGUIHandle.GHCone.Edit', ParamList{1,i+3}, ', ''string'', num2str(JCDATA.GHCone.ConeAngle(', num2str(i), ')*180/pi));']);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_script_generator.m
new file mode 100755
index 0000000..cd46a2f
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Joint_Sinus_Cones/JOINT_CONE_TOOL_script_generator.m
@@ -0,0 +1,119 @@
+function CBScript = JOINT_CONE_TOOL_script_generator(task, varargin)
+% UICONTROL Callback Script Generator for the joint tool GUI controls.
+%--------------------------------------------------------------------------
+% Syntax :
+% CBScript = JOINT_CONE_TOOL_script_generator(task, varargin)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function generates scripts for the joint sinus cone tool GUI. The
+% scripts are generated as text arrays. The task input variable inidicates
+% which script to return.
+% varargin contains extra information on which cone parameter is being
+% modified.
+%
+% List of Scripts :
+% 1) Close Joint Tool
+% 2) Save Visualisation
+% 3) Reset Cone Data
+% 4) Cone Data Modified
+% 5) Help
+%--------------------------------------------------------------------------
+
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Joint Sinus Cone GUI
+% Closes the GUI and deletes unsused variables.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Joint Tool')
+ CBScript = [...
+ 'clear JGUIHandle;',...
+ 'clear JPlotHandles;',...
+ 'clear JointVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear JHandle;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Save Visualisation
+% Saves the current visualisation using the main function.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Visualisation')
+CBScript = 'MAIN_CALLBACK_save_visualisation(JHandle, 4);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Reset the Cone Data
+% Resets the cone data to values taken from the litterature. (Maurel 1998
+% (EPFL)).
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Reset Cone Data')
+ CBScript = [...
+ 'JCDATA = MAIN_INITIALISATION_build_data_joint_sinus_cone();',...
+ '[JGUIHandle] = JOINT_CONE_TOOL_reset_values(JCDATA, JGUIHandle);',...
+ 'JPlotHandles.ConeHandle(1) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(1), JCDATA, BLDATA, 1);',...
+ 'JPlotHandles.ConeHandle(2) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(2), JCDATA, BLDATA, 2);',...
+ 'JPlotHandles.ConeHandle(3) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(3), JCDATA, BLDATA, 3);'];
+
+%--------------------------------------------------------------------------
+% Task 4 : Cone Data Modified
+% When a slider or edit boy is changed, the cone data is updated and so is
+% the visualisation.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Cone Data Modified')
+ if isequal(varargin{1,1}, 'Slider Modified')
+ SliderId = num2str(varargin{1,2});
+ ConeId = num2str(varargin{1,3});
+ CBScript = [...
+ '[JCDATA, JGUIHandle] = JOINT_CONE_TOOL_change_cone(''Slider Modified'',',...
+ SliderId,',',...
+ ConeId, ',',...
+ 'JCDATA, JGUIHandle);',...
+ 'JPlotHandles.ConeHandle(1) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(1), JCDATA, BLDATA, 1);',...
+ 'JPlotHandles.ConeHandle(2) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(2), JCDATA, BLDATA, 2);',...
+ 'JPlotHandles.ConeHandle(3) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(3), JCDATA, BLDATA, 3);'];
+
+ elseif isequal(varargin{1,1}, 'Value Modified')
+ SliderId = num2str(varargin{1,2});
+ ConeId = num2str(varargin{1,3});
+ CBScript = [...
+ '[JCDATA, JGUIHandle] = JOINT_CONE_TOOL_change_cone(''Value Modified'',',...
+ SliderId,',',...
+ ConeId, ',',...
+ 'JCDATA, JGUIHandle);',...
+ 'JPlotHandles.ConeHandle(1) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(1), JCDATA, BLDATA, 1);',...
+ 'JPlotHandles.ConeHandle(2) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(2), JCDATA, BLDATA, 2);',...
+ 'JPlotHandles.ConeHandle(3) = VISUALISATION_view_joint_sinus_cones(JPlotHandles.ConeHandle(3), JCDATA, BLDATA, 3);'];
+ else
+ end
+%--------------------------------------------------------------------------
+% Task 5 : Help
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''---------------- JOINT SINUS CONE TOOL -------------------------\n'', ',...
+ ' ''This GUI allows you to modify the joint sinus cone parameters.\n'', ',...
+ ' ''Although the cones are not used, they could be in the future to\n'', ',...
+ ' ''impose the joint motion limitations. The original data is take from\n'', ',...
+ ' ''the PhD dissertation by Walter Maurel (EPFL) 1998.'']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'JOINT_CONE_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Joint Tool,\n',...
+ '2) Save Visualisation,\n',...
+ '3) Reset Cone Data,\n',...
+ '4) Cone Data Modified,\n',...
+ '5) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_Estimate_Landmarks.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_Estimate_Landmarks.m
new file mode 100755
index 0000000..cb58ad5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_Estimate_Landmarks.m
@@ -0,0 +1,424 @@
+function [SSDATA, BLDATA] = KINEMATICS_TOOL_Estimate_Landmarks(KRHandle, KRPlotHandles, SSDATAin, BLDATAin)
+%{
+Function to load/check a measured kinematics to the model.
+--------------------------------------------------------------------------
+Syntax :
+
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+
+% initialize the SSDATA
+SSDATA = SSDATAin;
+BLDATA = BLDATAin;
+% ------------------------------------------------------------------------
+% 1) Estimate the AC landmark
+% ------------------------------------------------------------------------
+% The anathomical AC landmark is normally covered by the anterior deltoid.
+% Therefore, a good practice is to pulpate a point on clavicle right before
+% where the anterior deltoid wraps over the clavicle. Nevertheless, we now
+% need to estimate the real AC landmark. To this end, the length of SC-AC
+% is required. Provided this length we can define the AC (real) by the
+% intersection of a sphere centered at SC with SC-AC radius and a line
+% passing from SC to Ac (measured). SC-AC is clavicle length.
+
+% display message
+disp(['Estimating AC']);
+
+% Given value for the clavicle length
+clavicle_length = norm(BLDATA.Initial_Points.SC(:,1) - BLDATA.Initial_Points.AC(:,1));
+
+% run throughout the measured motion
+for TimeId = 1:length(SSDATA.Measured_Kinematics.IJ)
+
+ % define the line unit direction vector
+ direction_vector = SSDATA.Measured_Kinematics.Ac(:,TimeId) - SSDATA.Measured_Kinematics.SC(:,TimeId);
+ direction_vector = direction_vector/norm(direction_vector);
+
+ % deine the line parameter at the intersections point
+ lambda = ((clavicle_length^2)/(norm(direction_vector)^2))^0.5;
+
+ % define the real AC landmark
+ SSDATA.Measured_Kinematics.AC(:,TimeId) = SSDATA.Measured_Kinematics.SC(:,TimeId) + lambda*direction_vector;
+
+end
+
+% ------------------------------------------------------------------------
+% 2) Estimate the GH landmark
+% ------------------------------------------------------------------------
+% one single initial configuration for (AC, AA, GH) and (EM, EL, GH). In
+% fact we just need one single Radiology or MRI to see where GH is in the
+% thorax frame. If we do not have this then we can define this single
+% configuration though predictive equations of body segments and landmarks.
+
+% AC, AA, GH
+initial_configuration1 = [SSDATA.Measured_Kinematics.AC(:,1), ...
+ SSDATA.Measured_Kinematics.AA(:,1), ...
+ BLDATA.Initial_Points.GH(:,1)]; % for now we take GH from our scaled model, which is
+ % correct as it's the same subject that we had MRI for
+% EM, EL, GH
+initial_configuration2 = [SSDATA.Measured_Kinematics.EM(:,1), ...%EM
+ SSDATA.Measured_Kinematics.EL(:,1), ...
+ BLDATA.Initial_Points.GH(:,1)];
+
+% radii1 = [norm(initial_configuration1(:,1) - initial_configuration1(:,3)), ...
+% norm(initial_configuration1(:,2) - initial_configuration1(:,3))];
+% radii2 = [norm(initial_configuration2(:,1) - initial_configuration2(:,3)), ...
+% norm(initial_configuration2(:,2) - initial_configuration2(:,3))];
+% run throughout the measured motion
+for TimeId = 1:length(SSDATA.Measured_Kinematics.IJ)
+
+ % display message
+ disp(['Estimating GH, Time Stamp : ', num2str(TimeId), '/', num2str(length(SSDATA.Measured_Kinematics.IJ))]);
+
+ %{
+ % Approach 2: ---------------------------------------------------------
+ % estimating the GH as the intersection of four spheres
+
+ center1 = SSDATA.Measured_Kinematics.AC(:,TimeId);
+ center2 = SSDATA.Measured_Kinematics.AA(:,TimeId);
+ center3 = SSDATA.Measured_Kinematics.EM(:,TimeId);%EM
+ center4 = SSDATA.Measured_Kinematics.EL(:,TimeId);
+
+ if TimeId == 1
+ alpha0in = [0.3 0.3]; % initial guess for the parametrization angles of the two intersecting conic sections.
+ % A conic section is a function of alpha.
+ else
+ alpha0in = alpha_GH;
+ end
+
+
+ if TimeId == 1
+ initial_guess = 0*ones(1, 4);
+ else
+ initial_guess = centers_parameters;
+ end
+
+
+
+
+
+ [estimated_GH, alpha_GH, H_PS2T1, H_PS2T2, centers_parameters] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+ center3, center4, initial_configuration1, initial_configuration2, alpha0in, initial_guess);
+
+
+% if TimeId == 1
+%
+% [estimated_GH, alpha_GH, H_PS2T1, H_PS2T2] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+% center3, center4, radii1, radii2, alpha0in);
+% d1 = norm(estimated_GH(:, 1) - H_PS2T1(1:3, 4));
+% d2 = norm(estimated_GH(:, 2) - H_PS2T2(1:3, 4));
+%
+% p = norm(estimated_GH(:, 1) - estimated_GH(:, 2));
+%
+% Zh = (estimated_GH(:,1) + estimated_GH(:,2))/2 - (center3+center4)/2; Zh = Zh/norm(Zh);
+% Yh = cross((estimated_GH(:,1) + estimated_GH(:,2))/2 - center4, center3 - center4); Yh = Yh/norm(Yh);
+% Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+% Rh = [Xh, Yh, Zh];
+%
+% end
+%
+%
+% [estimated_GH, alpha_GH, H_PS2T1, H_PS2T2] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+% center3-Rh*[0 0 p]', center4-Rh*[0 0 p]', radii1, radii2, alpha0in);
+%
+% Zh = (estimated_GH(:,1) + estimated_GH(:,2))/2 - (center3+center4)/2; Zh = Zh/norm(Zh);
+% Yh = cross((estimated_GH(:,1) + estimated_GH(:,2))/2 - center4, center3 - center4); Yh = Yh/norm(Yh);
+% Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+% Rh = [Xh, Yh, Zh];
+%
+%
+%
+%
+%
+%
+%
+% p = norm(estimated_GH(:, 1) - estimated_GH(:, 2))
+%
+% r_cor_AC = sqrt((norm(estimated_GH(:, 1) - H_PS2T1(1:3, 4)) - p/(1 + d2/d1))^2 + ...
+% norm(SSDATA.Measured_Kinematics.AC(:,TimeId) - H_PS2T1(1:3, 4))^2);
+% r_cor_AA = sqrt((norm(estimated_GH(:, 1) - H_PS2T1(1:3, 4)) - p/(1 + d2/d1))^2 + ...
+% norm(SSDATA.Measured_Kinematics.AA(:,TimeId) - H_PS2T1(1:3, 4))^2);
+% r_cor_EM = sqrt((norm(estimated_GH(:, 2) - H_PS2T2(1:3, 4)) - p/(1 + d1/d2))^2 + ...
+% norm(SSDATA.Measured_Kinematics.EM(:,TimeId) - H_PS2T2(1:3, 4))^2);
+% r_cor_EL = sqrt((norm(estimated_GH(:, 2) - H_PS2T2(1:3, 4)) - p/(1 + d1/d2))^2 + ...
+% norm(SSDATA.Measured_Kinematics.EL(:,TimeId) - H_PS2T2(1:3, 4))^2);
+%
+% [estimated_GH, alpha_GH, H_PS2T1, H_PS2T2] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+% center3-Rh*[0 0 p]', center4-Rh*[0 0 p]', radii1, radii2, alpha0in);
+%
+
+ SSDATA.Measured_Kinematics.GH(:,TimeId) = (estimated_GH(:,1) + estimated_GH(:,2))/2;
+
+% if TimeId > 1
+% if norm(estimated_GH(:, 2) - H_PS2T1(1:3, 4)) > 0.99*pen_criteria
+% SSDATA.Measured_Kinematics.GH(:,TimeId) = estimated_GH(:,2);
+% else
+% r_compensation = pen_criteria - norm(estimated_GH(:, 2) - H_PS2T1(1:3, 4));
+%
+% r1_new = sqrt((norm(estimated_GH(:, 2) - H_PS2T2(1:3, 4)) - r_compensation)^2 + norm(H_PS2T2(1:3, 4) - center3)^2);
+% r2_new = sqrt((norm(estimated_GH(:, 2) - H_PS2T2(1:3, 4)) - r_compensation)^2 + norm(H_PS2T2(1:3, 4) - center4)^2);
+% radii2 = [r1_new r2_new];
+% [estimated_GH, alpha_GH, H_PS2T1, H_PS2T2] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+% center3, center4, radii1, radii2, alpha0in);
+% end
+% end
+
+ % save the estimated GH evolutions. Note that above gives always to estimated point for each time step.
+ %SSDATA.Measured_Kinematics.GH(:,TimeId) = estimated_GH(:,2);
+
+% pause(0.3)
+% str1 = ['frame = ',num2str(TimeId)]; % show the abduction angle on the plot
+% str1_prop = annotation('textbox',[0.01 0.01 0.5 0.05],'String',str1,'FitBoxToText','off','BackgroundColor','w');
+% str1_prop.FontSize = 16;
+% cla
+% if TimeId == 1
+% pen_criteria = norm(SSDATA.Measured_Kinematics.GH(:,1) - H_PS2T1(1:3, 4));
+%
+% end
+
+ %}
+
+ % approach 2: ---------------------------------------------------------
+ % estimating the GH based on a fixed displacement with respect to AC
+ % and AA
+ GH_cor1 = BLDATA.Initial_Points.GH - BLDATA.Initial_Points.AC;
+ GH_cor2 = BLDATA.Initial_Points.GH - BLDATA.Initial_Points.AA;
+
+ GH_est1 = SSDATA.Measured_Kinematics.AC(:,TimeId) + GH_cor1;
+ GH_est2 = SSDATA.Measured_Kinematics.AA(:,TimeId) + GH_cor2;
+
+ SSDATA.Measured_Kinematics.GH(:,TimeId) = (GH_est1 + GH_est2)/2;
+ %}
+
+ % approach 3: regression model from doi:10.1016/j.jbiomech.2009.03.039
+% SSDATA.Measured_Kinematics.GH(:,TimeId) = [(66.468-(0.531*norm(0.5*(SSDATA.Measured_Kinematics.AA(:,TimeId)+SSDATA.Measured_Kinematics.AC(:,TimeId))-0.5*(SSDATA.Measured_Kinematics.IJ(:,TimeId)+SSDATA.Measured_Kinematics.C7(:,TimeId))))+(0.571*85.5));
+% (96.2-(0.302*norm(SSDATA.Measured_Kinematics.IJ(:,TimeId)-SSDATA.Measured_Kinematics.C7(:,TimeId)))-(0.364*186)+(0.385*85.5));
+% -66.32+(0.3*norm(SSDATA.Measured_Kinematics.IJ(:,TimeId)-SSDATA.Measured_Kinematics.C7(:,TimeId)))-(0.432*85.5)];
+
+
+% SSDATA.Measured_Kinematics.GH(:,TimeId) = SSDATA.Measured_Kinematics.AA(:,TimeId) + [0 0 -70]';
+
+% SSDATA.Measured_Kinematics.GH(:,TimeId) = 0.5*(SSDATA.Measured_Kinematics.AA(:,TimeId)+SSDATA.Measured_Kinematics.AC(:,TimeId)) + [6 12 -49]';
+end
+
+% ------------------------------------------------------------------------
+% 3) Estimate the HU landmark
+% ------------------------------------------------------------------------
+% This landmark is very easy to estimate as it lies on the middle point of
+% EM and EL throughout the motion.
+
+% display message
+disp(['Estimating HU']);
+
+SSDATA.Measured_Kinematics.HU = 0.5*(SSDATA.Measured_Kinematics.EM + SSDATA.Measured_Kinematics.EL);
+
+% ------------------------------------------------------------------------
+% 4) Estimate the CP landmark
+% ------------------------------------------------------------------------
+% defining where CP lies between EM and EL, and use the same ratio
+% throughout the motion. In fact, what I did for HU and what I am doing for
+% CP can be categorized in using the predictive equations to find out where
+% the missing points are.
+
+% display message
+disp(['Estimating CP']);
+
+a_factor = norm(BLDATA.Initial_Points.EM(:,1)-BLDATA.Initial_Points.CP(:,1));
+b_factor = norm(BLDATA.Initial_Points.EL(:,1)-BLDATA.Initial_Points.CP(:,1));
+
+SSDATA.Measured_Kinematics.CP = SSDATA.Measured_Kinematics.EM + (a_factor/(a_factor + b_factor))*(SSDATA.Measured_Kinematics.EL - SSDATA.Measured_Kinematics.EM);
+
+% ------------------------------------------------------------------------
+% 5) Estimate the TS and AI landmark (scapula kinematics)
+% ------------------------------------------------------------------------
+% Given that we do not have any specific scapula measurement tools, the
+% evolutions of lanmarks TS and AI should be also estimated. To this end,
+% we build on the estimated evolutions of landmark GH estimate the landmarks
+% AI and TS. TS for instance, lies at the intersections of 3 spheres
+% centered at AA, AC, and GH with radii that can be defined from one known
+% initial configuration of the scapula using for instance one single MRI or
+% Radiology image. I use the intersection of 4 spheres considering one
+% redundant sphere, for instance AC. In other words, intersection of
+% spheres centered at AA, AC, AC, and GH.
+
+% AC, AA, TS
+initial_configuration1 = [SSDATA.Measured_Kinematics.AC(:,1), ...
+ SSDATA.Measured_Kinematics.AA(:,1), ...
+ BLDATA.Initial_Points.TS(:,1)];
+
+% GH, AC, TS
+initial_configuration2 = [SSDATA.Measured_Kinematics.GH(:,1), ...
+ SSDATA.Measured_Kinematics.AC(:,1), ...
+ BLDATA.Initial_Points.TS(:,1)];
+
+
+% AC, AA, AI
+initial_configuration3 = [SSDATA.Measured_Kinematics.AC(:,1), ...
+ SSDATA.Measured_Kinematics.AA(:,1), ...
+ BLDATA.Initial_Points.AI(:,1)];
+
+% GH, AC, AI
+initial_configuration4 = [SSDATA.Measured_Kinematics.GH(:,1), ...
+ SSDATA.Measured_Kinematics.AC(:,1), ...
+ BLDATA.Initial_Points.AI(:,1)];
+
+
+% run throughout the measured motion
+for TimeId = 1:length(SSDATA.Measured_Kinematics.IJ)
+
+ % display message
+ disp(['Estimating TS and AI, Time Stamp : ', num2str(TimeId), '/', num2str(length(SSDATA.Measured_Kinematics.IJ))]);
+
+
+ Zs = (SSDATA.Measured_Kinematics.AA(:,TimeId) + SSDATA.Measured_Kinematics.AC(:,TimeId))/2 - ...
+ SSDATA.Measured_Kinematics.GH(:,TimeId);
+ Xs = cross(SSDATA.Measured_Kinematics.AA(:,TimeId) - SSDATA.Measured_Kinematics.AC(:,TimeId) , ...
+ SSDATA.Measured_Kinematics.GH(:,TimeId) - SSDATA.Measured_Kinematics.AC(:,TimeId));
+ Ys = cross(Zs, Xs);
+ R_s2m = [Xs/norm(Xs) Ys/norm(Ys) Zs/norm(Zs)];
+
+ if TimeId == 1
+ TS_in_s = R_s2m'*BLDATA.Initial_Points.TS(:,1) - R_s2m'*SSDATA.Measured_Kinematics.AC(:,TimeId);
+ AI_in_s = R_s2m'*BLDATA.Initial_Points.AI(:,1) - R_s2m'*SSDATA.Measured_Kinematics.AC(:,TimeId);
+ end
+
+ SSDATA.Measured_Kinematics.TS(:,TimeId) = R_s2m*TS_in_s + SSDATA.Measured_Kinematics.AC(:,TimeId);
+ SSDATA.Measured_Kinematics.AI(:,TimeId) = R_s2m*AI_in_s + SSDATA.Measured_Kinematics.AC(:,TimeId);
+ %}
+ %{
+ % Estimate TS
+ center1 = SSDATA.Measured_Kinematics.AC(:,TimeId);
+ center2 = SSDATA.Measured_Kinematics.AA(:,TimeId);
+ center3 = SSDATA.Measured_Kinematics.GH(:,TimeId);
+ center4 = SSDATA.Measured_Kinematics.AC(:,TimeId);
+
+ if TimeId == 1
+ alpha0in = [0.1 0.1]; % initial guess for the parametrization angles of the two intersecting conic sections.
+ % A conic section is a function of alpha.
+ else
+ alpha0in = alpha_TS;
+ end
+ [estimated_TS, alpha_TS] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+ center3, center4, initial_configuration1, initial_configuration2, alpha0in,0);
+
+ % save the estimated TS evolutions. Note that above gives always to estimated point for each time step.
+ SSDATA.Measured_Kinematics.TS(:,TimeId) = estimated_TS(:,1);
+
+ % Estimate AI
+ center1 = SSDATA.Measured_Kinematics.AC(:,TimeId);
+ center2 = SSDATA.Measured_Kinematics.AA(:,TimeId);
+ center3 = SSDATA.Measured_Kinematics.GH(:,TimeId);
+ center4 = SSDATA.Measured_Kinematics.AC(:,TimeId);
+ if TimeId == 1
+ alpha0in = [0.1 0.5]; % initial guess for the parametrization angles of the two intersecting conic sections.
+ % A conic section is a function of alpha.
+ % ******alpha0in is sometimes very important****
+ else
+ alpha0in = alpha_AI;
+ end
+
+ [estimated_AI, alpha_AI] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2,...
+ center3, center4, initial_configuration3, initial_configuration4, alpha0in,0);
+
+ % save the estimated TS evolutions. Note that above gives always to estimated point for each time step.
+ SSDATA.Measured_Kinematics.AI(:,TimeId) = estimated_AI(:,2);
+ %}
+end
+
+% ------------------------------------------------------------------------
+% 6) Show the estimated results on the BUILD MOTION (Option 2) GUI page
+% ------------------------------------------------------------------------
+% display message
+disp(['Show the estimated/measured landmarks in GREEN for the first time Stamp']);
+
+% set the current axis
+set(KRHandle, 'currentaxes', KRPlotHandles.View_Motion_Axes); hold on;
+
+% define the wireframe of the measured motion
+Measured_WF_Thorax = [SSDATA.Measured_Kinematics.IJ(:,1),...
+ SSDATA.Measured_Kinematics.PX(:,1),...
+ SSDATA.Measured_Kinematics.T8(:,1),...
+ SSDATA.Measured_Kinematics.C7(:,1),...
+ SSDATA.Measured_Kinematics.IJ(:,1)];
+
+Measured_WF_Clavicula = [SSDATA.Measured_Kinematics.SC(:,1),...
+ SSDATA.Measured_Kinematics.AC(:,1)];
+
+Measured_WF_Scapula = [SSDATA.Measured_Kinematics.AC(:,1),...
+ SSDATA.Measured_Kinematics.AA(:,1),...
+ SSDATA.Measured_Kinematics.TS(:,1),...
+ SSDATA.Measured_Kinematics.AI(:,1),...
+ SSDATA.Measured_Kinematics.GH(:,1),...
+ SSDATA.Measured_Kinematics.AC(:,1)];
+
+Measured_WF_Humerus = [SSDATA.Measured_Kinematics.GH(:,1),...
+ SSDATA.Measured_Kinematics.HU(:,1),...
+ SSDATA.Measured_Kinematics.EL(:,1),...
+ SSDATA.Measured_Kinematics.EM(:,1)];
+
+Measured_WF_Ulna = [SSDATA.Measured_Kinematics.CP(:,1),...
+ SSDATA.Measured_Kinematics.HU(:,1),...
+ SSDATA.Measured_Kinematics.EM(:,1),...
+ SSDATA.Measured_Kinematics.US(:,1)];
+
+Measured_WF_Radius = [SSDATA.Measured_Kinematics.CP(:,1),...
+ SSDATA.Measured_Kinematics.RS(:,1)];
+
+% plot the wireframes of the measured motion associated with the first time
+% stamp
+plot3(Measured_WF_Thorax(1,:),...
+ Measured_WF_Thorax(2,:),...
+ Measured_WF_Thorax(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+plot3(Measured_WF_Clavicula(1,:),...
+ Measured_WF_Clavicula(2,:),...
+ Measured_WF_Clavicula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+plot3(Measured_WF_Scapula(1,:),...
+ Measured_WF_Scapula(2,:),...
+ Measured_WF_Scapula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+plot3(Measured_WF_Humerus(1,:),...
+ Measured_WF_Humerus(2,:),...
+ Measured_WF_Humerus(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+plot3(Measured_WF_Ulna(1,:),...
+ Measured_WF_Ulna(2,:),...
+ Measured_WF_Ulna(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+plot3(Measured_WF_Radius(1,:),...
+ Measured_WF_Radius(2,:),...
+ Measured_WF_Radius(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+
+
+
+return;
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_GH_Estimation.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_GH_Estimation.m
new file mode 100755
index 0000000..0f76e7b
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_GH_Estimation.m
@@ -0,0 +1,62 @@
+
+%%
+figure
+set(gcf,'position',[825 918 1600 900])
+%view([90, 125]); % Setup the initial camera postion [0,0] is behind horizontally.
+for i = 1:1:size(KEDATA.Point_Evolution.AC,2)
+
+
+ center1 = KEDATA.Point_Evolution.AC(:,i);
+ center2 = KEDATA.Point_Evolution.AA(:,i);
+ center3 = KEDATA.Point_Evolution.EM(:,i);
+ center4 = KEDATA.Point_Evolution.EL(:,i);
+
+ % define one known configuration
+ common_point = KEDATA.Point_Evolution.GH(:,1);
+ initial_configuration1 = [KEDATA.Point_Evolution.AC(:,1), KEDATA.Point_Evolution.AA(:,1), common_point];
+ initial_configuration2 = [KEDATA.Point_Evolution.EM(:,1), KEDATA.Point_Evolution.EL(:,1), common_point];
+
+ if i == 1
+ alpha0in = [0 0];
+ else
+ alpha0in = alpha;
+ end
+
+ [estimated_GH, alpha]= KINEMATICS_TOOL_four_sphere_intersect(center1, center2, center3, center4, initial_configuration1, initial_configuration2, alpha0in);
+
+ if i== 1
+ zoom(1.8);
+ view([330, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
+ end
+
+ pause(0.2)
+ cla
+ estimated_GH_final(:,i) = 0.5*(estimated_GH(:,1) + estimated_GH(:,2));
+end
+
+% time = 1:1:size(KEDATA.Point_Evolution.AC,2);
+% figure
+% plot(time, KEDATA.Point_Evolution.GH(1,:),'r', time, estimated_GH_final(1,:),'b');
+%%
+
+i = 80;
+ time = 1:1:size(KEDATA.Point_Evolution.AC,2);
+figure
+plot(time, KEDATA.Point_Evolution.GH);
+hold on
+plot(time, estimated_GH_final);
+
+
+figure
+for i = 1:1:size(KEDATA.Point_Evolution.AC,2)
+ check_value(i) = norm(KEDATA.Point_Evolution.GH(:,i)-estimated_GH_final(:,i))
+end
+
+time = 1:1:size(KEDATA.Point_Evolution.AC,2);
+plot(time,check_value)
+
+
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_TS.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_TS.m
new file mode 100755
index 0000000..638ea8c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_TS.m
@@ -0,0 +1,126 @@
+function TS = KINEMATICS_TOOL_build_TS(AI, M4, REDATA, BLDATA)
+% Function for obtaining the location of the point TS
+%--------------------------------------------------------------------------
+% Syntax
+% TS = KINEMATICS_TOOL_build_TS(AI, M4, REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the location of the point TS on the scapula's
+% medial border given the location of the point AI and the value of the
+% fourth minimal coordinate.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+TS = [];
+
+%--------------------------------------------------------------------------
+% Build Sphere Quadric around AI
+%--------------------------------------------------------------------------
+AIx = AI(1) - REDATA.Centre(1);
+AIy = AI(2) - REDATA.Centre(2);
+AIz = AI(3) - REDATA.Centre(3);
+
+% Sphere Radii
+R = norm(BLDATA.Initial_Points.TS - BLDATA.Initial_Points.AI);
+
+% Quadric Matrix
+T = [1, 0, 0, -AIx;
+ 0, 1, 0, -AIy;
+ 0, 0, 1, -AIz;
+ -AIx, -AIy, -AIz, AIx^2+AIy^2+AIz^2-R^2];
+
+%--------------------------------------------------------------------------
+% Build Ellipsoid Quadric
+%--------------------------------------------------------------------------
+% Get the Ellipsoid Axes
+Ax = REDATA.TSaxes(1,1); Ay = REDATA.TSaxes(2,1); Az = REDATA.TSaxes(3,1);
+
+% Quadric Matrix
+S = [1/Ax^2, 0, 0, 0;
+ 0, 1/Ay^2, 0, 0;
+ 0, 0, 1/Az^2, 0;
+ 0, 0, 0, -1];
+
+%--------------------------------------------------------------------------
+% Identify the type of intersection quadric
+%--------------------------------------------------------------------------
+IQuad = KINEMATICS_TOOL_intersection_identification(S, T);
+
+% Construct the ruled surface
+RSDATA = KINEMATICS_TOOL_ruled_surface_parameters(IQuad);
+
+% Get the lower and upper bounds on the ruled surface u parameter
+[Ubounds, RSDATA] = KINEMATICS_TOOL_parameter_bounds(RSDATA);
+
+% Compute the Value of u
+u = 0;
+if M4 < 0.5
+ u = Ubounds.Umin + 2*M4*(Ubounds.Umax - Ubounds.Umin);
+elseif M4 >= 0.5
+ u = Ubounds.Umax - 2*(M4 - 0.5)*(Ubounds.Umax - Ubounds.Umin);
+end
+
+% Compute the value of v
+Vval = KINEMATICS_TOOL_v_of_u(RSDATA, u);
+v = 0;
+if M4 < 0.5
+ v = Vval.vp;
+elseif M4 >= 0.5
+ v = Vval.vn;
+end
+
+% Build the Position of the Point
+if isequal(RSDATA.Type, 'Hyperbolic-Cylinder')
+ % Get the Normalised Quadric Parameters
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+
+ pu = [];
+ qu = [0; 0; 1; 0];
+ % Compute parameters depending on the type of parameterisation
+ if RSDATA.ParamType == 1
+ pu = [a*cosh(u)+x0; b*sinh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 1
+ pu = [-a*cosh(u)+x0; b*sinh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 3
+ pu = [a*sinh(u)+x0; b*cosh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 4
+ pu = [a*sinh(u)+x0; -b*cosh(u)+y0; 0; 1];
+ end
+
+ % Compute the position of the point
+ TS = pu + v*qu;
+
+ % Make the Index Switch
+ TS = TS(RSDATA.IdS,1);
+
+elseif isequal(RSDATA.Type, 'Hyperbolic Paraboloid')
+ % Get the Normalised Quadric Parameters
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ c = RSDATA.NPc;
+ ss = sign(RSDATA.Coef(3));
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+ z0 = RSDATA.Centre(3);
+
+ % Build the parameterisation
+ pu = [a*u/c+x0; b*u/c+y0; z0; 1];
+ qu = [-ss*a/c; ss*b/c; 4*u; 0];
+
+ TS = pu + v*qu;
+
+ % Make the Index Switch
+ TS = TS(RSDATA.IdS,1);
+end
+
+% Take only the first three values
+TS = TS(1:3,1);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_motion.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_motion.m
new file mode 100755
index 0000000..43f6c6a
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_build_motion.m
@@ -0,0 +1,282 @@
+function KEDATA = KINEMATICS_TOOL_build_motion(KEDATAin, BLDATA, REDATA)
+% Function for building the kinematic motion of the shoulder.
+%--------------------------------------------------------------------------
+% Syntax
+% KEDATA = KINEMATICS_TOOL_build_motion(KEDATAin, BLDATA, REDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function computes the evolution of the minimal coordinates,
+% bony landmarks, and joint angles, given a desired initial and final
+% values of the minimal coordinates.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+KEDATA = KEDATAin;
+
+%--------------------------------------------------------------------------
+% Build the Evolution of the minimal coordinates
+%--------------------------------------------------------------------------
+X_0 = zeros(9,1); X_T = zeros(9,1); % initialize the initial and final vectors of minimal coordinates
+
+for i = 1:9
+ X_0(i,1) = KEDATA.Initial_Minimal_Coordinate(i,1); % initial minimal coordinates vector
+ X_T(i,1) = KEDATA.Final_Minimal_Coordinate(i,1); % final minimal coordinates vector
+end
+
+% Construct the Time
+t = linspace(0, 1, KEDATA.NbPoints); % initial and final times are always considered 0 and 1, respectively.
+
+% Time Matrix
+Tmat = [t; t.^2; t.^3; t.^4; t.^5; t.^6; t.^7; t.^8; t.^9]; % this is different from what it's considered in the page 167 of the thesis.
+
+% Polynomial Coefficients Matrix. This marix is based on the hypothesis
+% that Tf = 1 (always) and that T0 = 0.
+% Here the coefficients of a polynomila of order KEDATA.Order(1,i) are
+% defined for the ith minimal coordinate evulotion. The maximum order can
+% be 9. First based on the defined order a smooth curve is defined for each
+% of the coordinates individually and then this curve is exapnded in the y
+% direction by DX to account for the final position. Because the
+% coefficients are first derived considering 1 as the final position. Then
+% the X0 is also added to account for the initial position (Pmat*Pcoef=Bmat).
+
+Pmat = [1, 1, 1, 1, 1, 1, 1, 1, 1; % Final Condition
+ 1, 0, 0, 0, 0, 0, 0, 0, 0; % 1st derivative initial condition
+ 1, 2, 3, 4, 5, 6, 7, 8, 9; % 1st derivative final condition
+ 0, 2, 0, 0, 0, 0, 0, 0, 0; % 2nd derivative initial condition
+ 0, 2, 6, 12, 20, 30, 42, 56, 72; % 2nd derivative final condition
+ 0, 0, 6, 0, 0, 0, 0, 0, 0; % 3rd derivative initial condition
+ 0, 0, 6, 24, 60, 120, 210, 336, 504; % 3rd derivative final condition
+ 0, 0, 0, 24, 0, 0, 0, 0, 0; % 4th derivative initial condition
+ 0, 0, 0, 24 120, 360, 840, 1680, 3024]; % 4th derivative final condition
+
+% Compute the Evolutions
+X_t = zeros(9,size(Tmat,2));
+for i = 1:9
+ % Compute the total variation
+ DX = X_T(i,1) - X_0(i,1);
+
+ % Avoid divide by zero
+ if abs(DX) > 1.e-6
+ Bmat = [DX; KEDATA.DerCond(i,1:KEDATA.Order(1,i)-1)']/DX;
+ Pcoef = Pmat(1:KEDATA.Order(1,i), 1:KEDATA.Order(1,i))\Bmat;
+ X_t(i,:) = X_0(i,1) + DX*Pcoef'*Tmat(1:KEDATA.Order(1,i),:);
+ else
+ X_t(i,:) = X_0(i,1)*ones(1,size(Tmat,2));
+ end
+end
+
+% Store the Evolution (Path) of Minimal Coordinates
+KEDATA.Coordinate_Evolution.M1 = X_t(1,:);
+KEDATA.Coordinate_Evolution.M2 = X_t(2,:);
+KEDATA.Coordinate_Evolution.M3 = X_t(3,:);
+KEDATA.Coordinate_Evolution.M4 = X_t(4,:);
+KEDATA.Coordinate_Evolution.M5 = X_t(5,:);
+KEDATA.Coordinate_Evolution.M6 = X_t(6,:);
+KEDATA.Coordinate_Evolution.M7 = X_t(7,:);
+KEDATA.Coordinate_Evolution.M8 = X_t(8,:);
+KEDATA.Coordinate_Evolution.M9 = X_t(9,:);
+
+% Stage_I referes to the first phase among the different stages of the
+% scapula motion regarding the scapulohumeral rhythm, (page 18-19 of the thesis).
+% note that here only the first phase is considered in contrast with the
+% text.
+
+% defining till what time id (Iddx) the arm elevation is less than pi/6.
+Stage_I_end = abs(X_t(6,:))-pi/6*ones(1,KEDATA.NbPoints);
+[val, Iddx] = min(abs(Stage_I_end));
+% until when the arm elevation is less than pi/6 the whole shoulder girdle
+% (corresponding to the first 4 minimal coordinates) would not move. For
+% thenafter, the position reached till that time is substracted and the x0
+% is added --> [0 ... 0, Mi-Mi(rightafter when arm elevation is equal to pi/6)+x0i]
+KEDATA.Coordinate_Evolution.M1 = [X_0(1,1)*ones(1,Iddx), KEDATA.Coordinate_Evolution.M1(1,Iddx+1:end)-KEDATA.Coordinate_Evolution.M1(1,Iddx+1)*ones(1,KEDATA.NbPoints-Iddx)+X_0(1,1)*ones(1,KEDATA.NbPoints-Iddx)];
+KEDATA.Coordinate_Evolution.M2 = [X_0(2,1)*ones(1,Iddx), KEDATA.Coordinate_Evolution.M2(1,Iddx+1:end)-KEDATA.Coordinate_Evolution.M2(1,Iddx+1)*ones(1,KEDATA.NbPoints-Iddx)+X_0(2,1)*ones(1,KEDATA.NbPoints-Iddx)];
+KEDATA.Coordinate_Evolution.M3 = [X_0(3,1)*ones(1,Iddx), KEDATA.Coordinate_Evolution.M3(1,Iddx+1:end)-KEDATA.Coordinate_Evolution.M3(1,Iddx+1)*ones(1,KEDATA.NbPoints-Iddx)+X_0(3,1)*ones(1,KEDATA.NbPoints-Iddx)];
+KEDATA.Coordinate_Evolution.M4 = [X_0(4,1)*ones(1,Iddx), KEDATA.Coordinate_Evolution.M4(1,Iddx+1:end)-KEDATA.Coordinate_Evolution.M4(1,Iddx+1)*ones(1,KEDATA.NbPoints-Iddx)+X_0(4,1)*ones(1,KEDATA.NbPoints-Iddx)];
+
+%--------------------------------------------------------------------------
+% Build the Bonylandmark Evolutions
+%--------------------------------------------------------------------------
+% The thorax points are always the same
+KEDATA.Point_Evolution.IJ = diag(BLDATA.Initial_Points.IJ)*ones(3,size(t,2));
+KEDATA.Point_Evolution.PX = diag(BLDATA.Initial_Points.PX)*ones(3,size(t,2));
+KEDATA.Point_Evolution.T8 = diag(BLDATA.Initial_Points.T8)*ones(3,size(t,2));
+KEDATA.Point_Evolution.C7 = diag(BLDATA.Initial_Points.C7)*ones(3,size(t,2));
+
+% The SC joint is also always static
+KEDATA.Point_Evolution.SC = diag(BLDATA.Initial_Points.SC)*ones(3,size(t,2));
+
+% The Motion of the point AI is already known with the coordinates
+AIx = REDATA.Centre(1)*ones(1,size(t,2)) + REDATA.AIaxes(1)*sin(KEDATA.Coordinate_Evolution.M3).*cos(KEDATA.Coordinate_Evolution.M2);
+AIy = REDATA.Centre(2)*ones(1,size(t,2)) + REDATA.AIaxes(2)*sin(KEDATA.Coordinate_Evolution.M3).*sin(KEDATA.Coordinate_Evolution.M2);
+AIz = REDATA.Centre(3)*ones(1,size(t,2)) + REDATA.AIaxes(3)*cos(KEDATA.Coordinate_Evolution.M3);
+KEDATA.Point_Evolution.AI = [AIx; AIy; AIz];
+
+% Build the humerus rotation matrix
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles',...
+ [zeros(1,6), KEDATA.Coordinate_Evolution.M5(1,1), KEDATA.Coordinate_Evolution.M6(1,1),...
+ KEDATA.Coordinate_Evolution.M7(1,1), KEDATA.Coordinate_Evolution.M8(1,1),...
+ KEDATA.Coordinate_Evolution.M9(1,1)], BLDATA);
+Rh = Rmat(:,7:9);
+
+% Initialise the remaining points
+KEDATA.Point_Evolution.TS = zeros(3,size(t,2));
+KEDATA.Point_Evolution.AA = zeros(3,size(t,2));
+KEDATA.Point_Evolution.GH = zeros(3,size(t,2));
+KEDATA.Point_Evolution.HU = zeros(3,size(t,2));
+KEDATA.Point_Evolution.EL = zeros(3,size(t,2));
+KEDATA.Point_Evolution.EM = zeros(3,size(t,2));
+KEDATA.Point_Evolution.US = zeros(3,size(t,2));
+KEDATA.Point_Evolution.CP = zeros(3,size(t,2));
+KEDATA.Point_Evolution.RS = zeros(3,size(t,2));
+
+% Run through the entire motion and build the remaining points and joint
+% angles
+for TimeId = 1:size(t,2)
+ % TS lies on the sphere ellipsoid intersection. This function returns
+ % TS in the ellipsoid reference system.
+ TSe = KINEMATICS_TOOL_build_TS(KEDATA.Point_Evolution.AI(:,TimeId), KEDATA.Coordinate_Evolution.M4(1,TimeId), REDATA, BLDATA);
+ KEDATA.Point_Evolution.TS(:,TimeId) = TSe + REDATA.Centre;
+
+ %----------------------------------------------------------------------
+ % The Point AC lies on the intersection between three spheres centred
+ % at AI, TS and SC. The sphere centres are defined
+ O1 = KEDATA.Point_Evolution.SC(:,TimeId);
+ O2 = KEDATA.Point_Evolution.TS(:,TimeId);
+ O3 = KEDATA.Point_Evolution.AI(:,TimeId);
+
+ % The sphere radii are defined
+ r1 = norm(BLDATA.Initial_Points.AC - BLDATA.Initial_Points.SC);
+ r2 = norm(BLDATA.Initial_Points.AC - BLDATA.Initial_Points.TS);
+ r3 = norm(BLDATA.Initial_Points.AC - BLDATA.Initial_Points.AI);
+
+ % There are two possible solutions to the three sphere intersection
+ PP = KINEMATICS_TOOL_three_sphere_intersect(O1, O2, O3, r1, r2, r3);
+
+ % Use the previous point to ensure the right solution is selected
+ if TimeId == 1
+ % There is no previous solution. Choose the one closest to the
+ % initial location of AC
+ [Val, Idx] = min([norm(BLDATA.Initial_Points.AC - PP(:,1)), norm(BLDATA.Initial_Points.AC - PP(:,2))]);
+ KEDATA.Point_Evolution.AC(:,TimeId) = PP(:,Idx);
+ else
+ % Use the previous solution
+ [Val, Idx] = min([norm(KEDATA.Point_Evolution.AC(:,TimeId-1) - PP(:,1)), norm(KEDATA.Point_Evolution.AC(:,TimeId-1) - PP(:,2))]);
+ KEDATA.Point_Evolution.AC(:,TimeId) = PP(:,Idx);
+ end
+
+ %----------------------------------------------------------------------
+ % The point AA lies on the intersection between three spheres centred
+ % at AC, TS and AI. The sphere centres are defined
+ O1 = KEDATA.Point_Evolution.AC(:,TimeId);
+ O2 = KEDATA.Point_Evolution.TS(:,TimeId);
+ O3 = KEDATA.Point_Evolution.AI(:,TimeId);
+
+ % The sphere radii are defined
+ r1 = norm(BLDATA.Initial_Points.AA - BLDATA.Initial_Points.AC);
+ r2 = norm(BLDATA.Initial_Points.AA - BLDATA.Initial_Points.TS);
+ r3 = norm(BLDATA.Initial_Points.AA - BLDATA.Initial_Points.AI);
+
+ % There are two possible solutions to the three sphere intersection
+ PP = KINEMATICS_TOOL_three_sphere_intersect(O1, O2, O3, r1, r2, r3);
+
+ % Use the previous point to ensure the right solution is selected
+ if TimeId == 1
+ % There is no previous solution. Choose the one closest to the
+ % initial location of AA
+ [Val, Idx] = min([norm(BLDATA.Initial_Points.AA - PP(:,1)), norm(BLDATA.Initial_Points.AA - PP(:,2))]);
+ KEDATA.Point_Evolution.AA(:,TimeId) = PP(:,Idx);
+ else
+ % Use the previous solution
+ [Val, Idx] = min([norm(KEDATA.Point_Evolution.AA(:,TimeId-1) - PP(:,1)), norm(KEDATA.Point_Evolution.AA(:,TimeId-1) - PP(:,2))]);
+ KEDATA.Point_Evolution.AA(:,TimeId) = PP(:,Idx);
+ end
+
+ %----------------------------------------------------------------------
+ % The point GH lies on the intersection between three spheres centred
+ % at AC, TS and AI. The sphere centres are defined
+ O1 = KEDATA.Point_Evolution.AC(:,TimeId);
+ O2 = KEDATA.Point_Evolution.TS(:,TimeId);
+ O3 = KEDATA.Point_Evolution.AI(:,TimeId);
+
+ % The sphere radii are defined
+ r1 = norm(BLDATA.Initial_Points.GH - BLDATA.Initial_Points.AC);
+ r2 = norm(BLDATA.Initial_Points.GH - BLDATA.Initial_Points.TS);
+ r3 = norm(BLDATA.Initial_Points.GH - BLDATA.Initial_Points.AI);
+
+ % There are two possible solutions to the three sphere intersection
+ PP = KINEMATICS_TOOL_three_sphere_intersect(O1, O2, O3, r1, r2, r3);
+
+ % Use the previous point to ensure the right solution is selected
+ if TimeId == 1
+ % There is no previous solution. Choose the one closest to the
+ % initial location of GH
+ [Val, Idx] = min([norm(BLDATA.Initial_Points.GH - PP(:,1)), norm(BLDATA.Initial_Points.GH - PP(:,2))]);
+ KEDATA.Point_Evolution.GH(:,TimeId) = PP(:,Idx);
+ else
+ % Use the previous solution
+ [Val, Idx] = min([norm(KEDATA.Point_Evolution.GH(:,TimeId-1) - PP(:,1)), norm(KEDATA.Point_Evolution.GH(:,TimeId-1) - PP(:,2))]);
+ KEDATA.Point_Evolution.GH(:,TimeId) = PP(:,Idx);
+ end
+
+ % Build the humerus, ulna, and radius rotation matrix
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles',...
+ [zeros(1,6), KEDATA.Coordinate_Evolution.M5(1,TimeId), KEDATA.Coordinate_Evolution.M6(1,TimeId),...
+ KEDATA.Coordinate_Evolution.M7(1,TimeId), KEDATA.Coordinate_Evolution.M8(1,TimeId),...
+ KEDATA.Coordinate_Evolution.M9(1,TimeId)], BLDATA);
+
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+ % Build the Location of the remaining points
+ KEDATA.Point_Evolution.HU(:,TimeId) =...
+ Rh*BLDATA.Initial_Matrices_L2A.Rh'*(BLDATA.Initial_Points.HU - BLDATA.Initial_Points.GH) + KEDATA.Point_Evolution.GH(:,TimeId);
+ KEDATA.Point_Evolution.EL(:,TimeId) =...
+ Rh*BLDATA.Initial_Matrices_L2A.Rh'*(BLDATA.Initial_Points.EL - BLDATA.Initial_Points.GH) + KEDATA.Point_Evolution.GH(:,TimeId);
+ KEDATA.Point_Evolution.EM(:,TimeId) =...
+ Rh*BLDATA.Initial_Matrices_L2A.Rh'*(BLDATA.Initial_Points.EM - BLDATA.Initial_Points.GH) + KEDATA.Point_Evolution.GH(:,TimeId);
+ KEDATA.Point_Evolution.US(:,TimeId) =...
+ Ru*BLDATA.Initial_Matrices_L2A.Ru'*(BLDATA.Initial_Points.US - BLDATA.Initial_Points.HU) + KEDATA.Point_Evolution.HU(:,TimeId);
+ KEDATA.Point_Evolution.CP(:,TimeId) =...
+ Rh*BLDATA.Initial_Matrices_L2A.Rh'*(BLDATA.Initial_Points.CP - BLDATA.Initial_Points.GH) + KEDATA.Point_Evolution.GH(:,TimeId);
+ KEDATA.Point_Evolution.RS(:,TimeId) =...
+ Rr*BLDATA.Initial_Matrices_L2A.Rr'*(BLDATA.Initial_Points.RS - BLDATA.Initial_Points.CP) + KEDATA.Point_Evolution.CP(:,TimeId);
+
+ %----------------------------------------------------------------------
+ % Only the Clavicula and Scapula rotation matrices need be constructed,
+ % because we want to define the JEAs from the rotation matrices. However,
+ % for humerus, ulna, and radius the minimal coordinates and the associated
+ % joint angles coincide. We could have used the
+ % MAIN_TOOL_geometry_functions, but I don't see why we didn't.
+
+ % Clavicula Rotation Matrix
+ Xc = KEDATA.Point_Evolution.AC(:,TimeId) - KEDATA.Point_Evolution.SC(:,TimeId); Xc = Xc/norm(Xc);
+ Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+ Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+ Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+ % Scapula Rotation Matrix
+ Xs = KEDATA.Point_Evolution.AA(:,TimeId) - KEDATA.Point_Evolution.TS(:,TimeId); Xs = Xs/norm(Xs);
+ Ys = cross(Xs, KEDATA.Point_Evolution.AI(:,TimeId) - KEDATA.Point_Evolution.TS(:,TimeId)); Ys = Ys/norm(Ys);
+ Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+ Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+ % Get the Joint Angles
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Store the data
+ KEDATA.Joint_Angle_Evolution(:,TimeId) = ...
+ [KEDATA.Coordinate_Evolution.M1(1,TimeId); THETAc; PHIc; PSIs; THETAs; PHIs; KEDATA.Coordinate_Evolution.M5(1,TimeId); KEDATA.Coordinate_Evolution.M6(1,TimeId); KEDATA.Coordinate_Evolution.M7(1,TimeId); KEDATA.Coordinate_Evolution.M8(1,TimeId); KEDATA.Coordinate_Evolution.M9(1,TimeId)];
+end
+return;
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_click_on_script.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_click_on_script.m
new file mode 100755
index 0000000..9f460a4
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_click_on_script.m
@@ -0,0 +1,103 @@
+%{
+--------------------------------------------------------------------------
+ Small script for plotting the smoothened generalized velocities and accelerations
+--------------------------------------------------------------------------
+File Description :
+This script upon on clicking on one of the plots in the KRPlotHandles.Plot_IK_UiPanel
+panel will be activated and will plot a detailed graph including the
+generalized coordinates, velocities, and accelerations associated with the
+initial plot.
+--------------------------------------------------------------------------
+%}
+% creat the time
+ % take the motion time span
+ final_time = str2double(get(KRGUIHandle.TimeFrameEdit, 'string'));
+
+ % define the elapsed time necessary to connect knot i-1 to i
+ max_frame = 100*final_time;
+ %h = final_time/(length(SSDATA.Measured_Kinematics.IJ)-1);
+ h = final_time/(max_frame-1);
+
+
+ % creat the time
+ time = 0: h: final_time;
+
+% define numerical values of the acceleration, velocity, and coordinate for
+% the specific GC_id
+if GC_id == 1
+
+ % option 2: smoothening them first and then using them
+ GC(1,:) = polyval(SSDATA.Joint_Angle_Coefficients(GC_id, :), time);
+ GV(1,:) = polyval(SSDATA.Joint_Velocity_Coefficients(GC_id, :), time(1, 1:end-1));
+ GA(1,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(GC_id, :), time(1, 1:end-2));
+
+else
+
+ % option 1: direct use of the reconstructed angles from IK
+ GC(1,:) = SSDATA.Joint_Angle_Reconstruction(GC_id, :);
+ GV = [];
+ GA = [];
+ for TimeId = 1:length(time)-1
+ GV = [GV, (GC(1,TimeId+1) - GC(1,TimeId))/(time(TimeId+1) - time(TimeId))];
+ if TimeId < length(time)-1
+ % Acceleration
+ GA = [GA, (GC(1,TimeId+2) - 2*GC(1,TimeId+1) + GC(1,TimeId))/((time(TimeId+2) - time(TimeId+1))*(time(TimeId+1) - time(TimeId)))];
+ end
+ end
+end
+
+% option 2: smoothening them first and then using them
+GC(1,:) = polyval(SSDATA.Joint_Angle_Coefficients(GC_id, :), time);
+% GV(1,:) = polyval(SSDATA.Joint_Velocity_Coefficients(GC_id, :), time);
+% GA(1,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(GC_id, :), time);
+
+% creat plot title list
+title_list = {'clavicle axial rotation',...
+ 'clavicle depression/elevation',...
+ 'clavicle retraction/protraction',...
+ 'scapula external/internal tilt',...
+ 'scapula depression/elevation',...
+ 'scapula retraction/protraction',...
+ 'humerus axial rotation',...
+ 'humerus adduction/abduction',...
+ 'humerus flexion/extension',...%plan humerus elevation plane posterior/anterior
+ 'ulna extension/flexion',...
+ 'radius supination/pronation'};
+
+% creat figure name
+KRPlotHandles.ClickOn = figure('color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.3, 0.2, 0.4],...
+ 'name', 'EPFL - LBO Upper Extremity Model: Click On plots, reconstructed motion');
+
+% creat the plots
+% GC
+ subplot(3,1,1);
+ plot(time, (180/pi)*GC(1,:), 'k', 'LineWidth', 2); hold on;
+ plot(time, (180/pi)*SSDATA.Joint_Angle_Reconstruction(GC_id,:),'o', 'MarkerFaceColor', 'b','MarkerSize', 3);
+ xlabel('time [s]','fontsize',14);
+ ylabel(['q_',num2str(GC_id),'[deg]'],'fontsize',14);
+ set(gca,'FontSize',14);
+ title(title_list{1, GC_id},'fontsize',16,'fontweight','normal' );
+ xlim([0,final_time]);
+ legend('point-wise IK solution','smoothened solution', 'Location','best')
+ grid on
+% GV
+ subplot(3,1,2);
+ plot(time(1,1:end - 1), GV(1,:), 'k', 'LineWidth', 2); % for option 2: time(1, :)
+ xlabel('time [s]','fontsize',14);
+ ylabel(['dq_',num2str(GC_id),'[rad/s]'],'fontsize',14);
+ set(gca,'FontSize',14);
+ %title(title_list{1, GC_id},'fontsize',16,'fontweight','normal' );
+ xlim([0,final_time]);
+ grid on
+% GA
+ subplot(3,1,3);
+ plot(time(1,1:end - 2), GA(1,:), 'k','LineWidth', 2); % for option 2: time(1, :)
+ xlabel('time [s]','fontsize',14);
+ yLabel = ylabel(['ddq_',num2str(GC_id),'[rad/s^2]'],'fontsize',14);
+ set(gca,'FontSize',14);
+ %title(title_list{1, GC_id},'fontsize',16,'fontweight','normal' );
+ xlim([0,final_time]);
+ grid on
+clear GC GV GA
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_compute_kinematics.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_compute_kinematics.m
new file mode 100755
index 0000000..5da8f09
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_compute_kinematics.m
@@ -0,0 +1,40 @@
+function [jea, djeadt, d2jeadt2, xdata] = KINEMATICS_TOOL_compute_kinematics(AngleId, KEDATA)
+% function for building the kinematics of a given motion
+%--------------------------------------------------------------------------
+% Syntax :
+% [jea, djeadt, d2jeadt2, xdata] = KINEMATICS_TOOL_compute_kinematics(AngleId, KEDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function generates the kinematics for one of the joint angles. Used
+% when a graph in the kinematics tool gui is clicked on.
+%--------------------------------------------------------------------------
+
+% Define the Time Vector
+t = linspace(0, 1, size(KEDATA.Joint_Angle_Evolution, 2));
+
+% Compute the Velocity and Acceleration
+djeat = zeros(1,size(KEDATA.Joint_Angle_Evolution, 2)-1);
+d2jeadt2 = zeros(1,size(KEDATA.Joint_Angle_Evolution, 2)-2);
+
+% Run through the motion
+for TimeId = 1:size(KEDATA.Joint_Angle_Evolution, 2)-1
+ % Compute Velocity
+ djeadt(1,TimeId) = (KEDATA.Joint_Angle_Evolution(AngleId,TimeId+1) - KEDATA.Joint_Angle_Evolution(AngleId, TimeId))/(t(1,TimeId+1) - t(1,TimeId));
+
+ % Compute Acceleration
+ if TimeId < size(KEDATA.Joint_Angle_Evolution, 2)-1
+ d2jeadt2(1,TimeId) = (KEDATA.Joint_Angle_Evolution(AngleId,TimeId+2) - 2*KEDATA.Joint_Angle_Evolution(AngleId, TimeId+1) + KEDATA.Joint_Angle_Evolution(AngleId, TimeId))/((t(1,TimeId+2) - t(1,TimeId+1))*(t(1,TimeId+1) - t(1,TimeId)));
+ else
+ end
+end
+
+% Define the outputs
+jea = KEDATA.Joint_Angle_Evolution(AngleId,:)*180/pi;
+djeadt = djeadt*180/pi;
+d2jeadt2 = d2jeadt2*180/pi;
+
+% The humeral abduction angle
+xdata = KEDATA.Joint_Angle_Evolution(8,:)*180/pi;
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_data_filteration.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_data_filteration.m
new file mode 100755
index 0000000..f774ed1
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_data_filteration.m
@@ -0,0 +1,260 @@
+function [SSDATA] = KINEMATICS_TOOL_data_filteration(task, varargin)
+%{
+Function for filtering and transforming the uploaded raw measured data.
+--------------------------------------------------------------------------
+Syntax
+[SSDATA] = KINEMATICS_TOOL_data_filteration(task, varargin)
+--------------------------------------------------------------------------
+File Description :
+This function performs the following tasks depending on what task argument
+is defined:
+ case 1: residual analysis
+ case 2: harmonic analysis
+ case 3: filter and transform the data
+The residual and harmonic analysis are provided to provide the user with a
+sense of the measured data in order to help him/her decide what cutoff
+frequency should be chosen for the low-pass filtering of the data. At the
+end, when the user input the data for the cutoff frequency and filter order
+the next step is to filter the data and transform them into the Matlab
+(thorax) coordinate system.
+Note that if the imported raw data has been already transformed and
+filtered user should skip thi spart of the GUI.
+--------------------------------------------------------------------------
+%}
+
+% define the landmarks list necessary for all the cases
+landmark_list = {'IJ' 'PX' 'C7' 'T8' 'SC' 'Ac' 'AA' 'EL' 'EM' 'RS' 'US'};
+
+% sampling frequency of VICON
+fs = 100;
+
+% -------------------------------------------------------------------------
+% CASE 1: Residual Analysis
+% -------------------------------------------------------------------------
+if isequal(task, 'Residual Analysis')
+
+ % take the input data
+ SSDATAin = varargin{1,1};
+ raw_landmarks = SSDATAin.Measured_Kinematics;
+
+ % define the range of cutoff frequency required for the residual
+ % analysis
+ cutoff_frequency_range = 1:0.1:4;
+
+ % filter the all the data over the given range of cutoff frequency
+ for CF_Id = 1:length(cutoff_frequency_range)
+
+ % design the filter for the given cutoff frequency
+ [B_filt A_filt] = butter(4, cutoff_frequency_range(CF_Id)*2/fs);
+
+ % filter all the data over for each CF_Id
+ for LM_Id = 1:11 % for landmark id
+
+ % take the raw data of the landmark LM_Id and put it in X
+ X = (raw_landmarks.(landmark_list{LM_Id})(:,:))';
+
+ % filter the raw data in X
+ X_filtered = filtfilt(B_filt, A_filt, X);
+
+ % define the residual of the landmark LM_Id for the cutoff
+ % frequency CF_Id and save it in the structure named
+ % residual
+ residual.(landmark_list{LM_Id})(:, CF_Id) = diag((X-X_filtered)'*(X-X_filtered))/length(X);
+ end
+ end
+
+ % show the results of the residual analysis
+ figure('units', 'normalized',...
+ 'position', [0.2, 0.3, 0.9, 0.9],...
+ 'name', 'residual analysis');
+
+ for LM_Id = 1 :11 % for landmarks id
+ subplot(3,4,LM_Id)
+ resdiue = residual.(landmark_list{LM_Id});
+ p = plot(cutoff_frequency_range, resdiue, 'o', 'MarkerSize', 8);
+ p(1).Color = 'r'; p(2).Color = 'g'; p(3).Color = 'b';
+ title([landmark_list{LM_Id}])
+ xlabel('frequency [Hz]');
+ ylabel('residual');
+ legend('x','y','z');
+ set(gca,'FontSize',16);
+ grid on
+ end
+
+% -------------------------------------------------------------------------
+% CASE 1: Harmonic Analysis
+% -------------------------------------------------------------------------
+elseif isequal(task, 'Harmonic Analysis')
+
+ % take the input data
+ SSDATAin = varargin{1,1};
+ raw_landmarks = SSDATAin.Measured_Kinematics;
+
+ % show the results of harmonic analysis for all the landmarks (I do not
+ % need to save them)
+ figure('units', 'normalized',...
+ 'position', [0.2, 0.3, 0.9, 0.9],...
+ 'name', 'Harmonic Analysis');
+
+ for LM_Id = 1 :11 % for landmarks id
+ subplot(3,4,LM_Id)
+
+ % take the raw data of the landmark LM_Id
+ X = (raw_landmarks.(landmark_list{LM_Id}))';
+
+ % define the PSD of the landmark
+ [Pxx, f] = pwelch(X, floor(fs/2), [], [], fs);
+
+ p = plot(f, Pxx, 'LineWidth', 2);
+ p(1).Color = 'r'; p(2).Color = 'g'; p(3).Color = 'b';
+ title([landmark_list{LM_Id}]);
+ xlabel('frequency');
+ ylabel('signal power');
+ legend('x','y','z');
+ set(gca,'FontSize',16);
+ grid on
+ end
+% -------------------------------------------------------------------------
+% CASE 3: Filter and Transform Data
+% -------------------------------------------------------------------------
+elseif isequal(task, 'Filter Data')
+
+ % take the input data
+ SSDATAin = varargin{1,1};
+ raw_landmarks = SSDATAin.Measured_Kinematics;
+
+ % take the cutoff frequency from the user inputted data in the GUI
+ KRGUIHandlein = varargin{1,2};
+ CF = str2num(KRGUIHandlein.Cutoff_Frequency.Edit.String);
+
+ % take the filter order from the data provided by the user
+ filter_order = str2num(KRGUIHandlein.Filter_Order.Edit.String);
+
+ % define the filter transfer function. We use 4th order butterworth filter
+ % that will transfrom into 8th order zero-phase low-pass filter as we use
+ % filtfilt in order to eliminate the phase lag of the forward filtering.
+ [B_denom A_nom] = butter(filter_order, CF*2/fs);
+
+ % 1) ------------------------------------------------------------------
+ % low-pass filter the raw landmarks and plot them together with the raw
+ % data
+ figure('units', 'normalized',...
+ 'position', [0.2, 0.3, 0.9, 0.9],...
+ 'name', ['filtered data yet in VICON frame']);
+
+ for LM_Id = 1 :11 % for landmarks id
+ subplot(3,4,LM_Id)
+
+ % get the landmarks' coordinates
+ X = (raw_landmarks.(landmark_list{LM_Id}))';
+
+ % filter the landmark data
+ X_filtered.(landmark_list{LM_Id}) = filtfilt(B_denom, A_nom, X)';
+
+ % construct the time for each landmark, in fact it's the same for all the landmarks of an activity-trial
+ time = 0:1/fs:length(X)/fs-1/fs;
+
+ % plot both the raw and filter data
+ p = plot(time, X_filtered.(landmark_list{LM_Id}),...
+ time, X, '--', 'LineWidth', 2);
+ p(1).Color = 'r'; p(2).Color = 'g'; p(3).Color = 'b';
+ p(4).Color = 'r'; p(5).Color = 'g'; p(6).Color = 'b';
+ title([landmark_list{LM_Id}]);
+ xlabel('time [s]');
+ ylabel('position in VICON frame [mm]');
+ legend('filtered x','filtered y','filtered z', 'raw x', 'raw y', 'raw z');
+ set(gca,'FontSize',16);
+ grid on
+ end
+
+ % 2) ------------------------------------------------------------------
+ % transform the data from VICON coordinate to the Matlab (thorax)
+ % coordinate system
+
+ % go over all the data frames
+ for frameId = 1: length(X_filtered.(landmark_list{1}))
+
+ % get the landmarks' coordinates for the current frame
+ for LM_Id = 1 : 11 % for landmarks id
+
+ X_current.(landmark_list{LM_Id}) = X_filtered.(landmark_list{LM_Id})(:, frameId);
+
+ end
+
+ if frameId == 1
+ % VICON -> MATLAB Rotation Matrix for the current frame
+ Zt = (X_current.C7 + X_current.IJ)/2 - (X_current.T8 + X_current.PX)/2;
+ Xt = cross(X_current.C7 - X_current.IJ, (X_current.T8 + X_current.PX)/2-X_current.IJ);
+ Yt = cross(Zt, Xt);
+ R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]'; %R_am=R_matlab', which means
+ %R_matlab map the points in matlab to AMIRA. For instance if you think
+ %about R_matlab*[1 0 0]' it returns the associated vector (point) related
+ %to the x axis of matlab in amira. Obviously it will be the first column of
+ %the R_matlab.
+
+
+ % Homogeneous transformation Matrix which maps a point in AMIRA to matlab
+ % coordinate system
+ H_am = [[R_am, -R_am*X_current.IJ]; [0, 0, 0, 1]];
+
+ end
+
+ % Transform all points to MATLAB reference frame and then get rid of the
+ % homegeneous part
+ for LM_Id = 1 : 11 % for landmarks id
+
+ X_current.(landmark_list{LM_Id}) = H_am*[X_current.(landmark_list{LM_Id}); 1];
+
+ end
+
+% IJ = H_am*[IJ; 1]; measurement_pure2_t1.IJ(:,FrameId) = IJ(1:3,1);
+% PX = H_am*[PX; 1]; measurement_pure2_t1.PX(:,FrameId) = PX(1:3,1);
+% T8 = H_am*[T8; 1]; measurement_pure2_t1.T8(:,FrameId) = T8(1:3,1);
+% C7 = H_am*[C7; 1]; measurement_pure2_t1.C7(:,FrameId) = C7(1:3,1);
+% SC = H_am*[SC; 1]; measurement_pure2_t1.SC(:,FrameId) = SC(1:3,1);
+% Ac = H_am*[Ac; 1]; measurement_pure2_t1.Ac(:,FrameId) = Ac(1:3,1);
+% AA = H_am*[AA; 1]; measurement_pure2_t1.AA(:,FrameId) = AA(1:3,1);
+% EL = H_am*[EL; 1]; measurement_pure2_t1.EL(:,FrameId) = EL(1:3,1);
+% EM = H_am*[EM; 1]; measurement_pure2_t1.EM(:,FrameId) = EM(1:3,1);
+% US = H_am*[US; 1]; measurement_pure2_t1.US(:,FrameId) = US(1:3,1);
+% RS = H_am*[RS; 1]; measurement_pure2_t1.RS(:,FrameId) = RS(1:3,1);
+
+ % save the filtered and transformed data per frame
+ for LM_Id = 1 : 11 % for landmarks id
+
+ Measured_Kinematics.(landmark_list{LM_Id})(:, frameId) = X_current.(landmark_list{LM_Id})(1:3,1);
+
+ end
+ end
+
+% replace the unfiltered and untrasnformed data by the recent filtered and
+% transformed data
+SSDATA.Measured_Kinematics = Measured_Kinematics;
+
+% display a message for the user
+msgbox(['the imported raw data was filtered, transformed, and saved in',...
+ 'SSDATA.Measured_Kinematics data structure'], 'Success');
+% -------------------------------------------------------------------------
+% CASE 4: if not a valid task
+% -------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'KINEMATICS_TOOL_data_filteration requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Residual Analysis,\n',...
+ '2) Harmonic Analysis,\n',...
+ '3) Filter Data,\n',...
+ '4) :),\n',...
+ '9) .'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+
+end
+
+
+return
+
+
+
+
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_four_sphere_intersect.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_four_sphere_intersect.m
new file mode 100755
index 0000000..40b8dc8
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_four_sphere_intersect.m
@@ -0,0 +1,327 @@
+function [estimated_GH, alpha, H_PS2T1, H_PS2T2, centers_parameters] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2, center3, center4, initial_configuration1, initial_configuration2, alpha0in, initial_guess)
+
+%{
+Function for defining the intersection of the four spheres centered at center1
+to center4 with a common point as common_point (GH point) that defines the
+radii of the spheres.
+--------------------------------------------------------------------------
+Syntax :
+[estimated_GH, alpha] = KINEMATICS_TOOL_four_sphere_intersect(center1, center2, center3, center4, initial_configuration1, initial_configuration2, alpha0in)
+--------------------------------------------------------------------------
+Function Description :
+This function finds the intersection of four spheres. It first uses the
+function called "KINEMATICS_TOOL_two_sphere_intersect" to define the conic
+section associated with two pairs of the spheres. For instance the two
+spheres centered at center1 and center2 are treated first and the the other two
+as the second pair. Then it finds the intersection of the the two resulted
+conic sections. More precisely, the intersection of two rings in the space.
+It does that by minimizing the distance between the two conic sections
+(rings). Obviously, we will have two points that depending on the quality
+of our input data can be coincide.
+--------------------------------------------------------------------------
+%}
+options_outer = optimoptions('fmincon','Display','iter','Algorithm','interior-point',...
+ 'TolX', 1e-12,'TolFun', 1e-12, 'TolCon', 1e-12, ...
+ 'MaxFunEval', 100000,'DiffMinChange', 1e-9);
+% x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
+lb = [];
+
+ub = [];
+
+
+centers_parameters = fmincon(@(center_par) cost(center1, center2, initial_configuration1, center3, center4, initial_configuration2, alpha0in, center_par),...
+ initial_guess, [], [], [], [], lb, ub, [], options_outer);
+
+
+% find the first conic section (intersection of spheres centered at center1 and center2)
+[CS_point_in_T1, r1, H_PS2T1] = KINEMATICS_TOOL_two_sphere_intersect(center1, center2, initial_configuration1); % CS_point_in_T1: points of the conic section in thorax
+ % r1: radius of the resulted conic section
+ % H_PS2T1: Homogenous transformation from PS (parametrization Surface) to Thorax
+
+% find the second conic section (intersection of spheres centered at center1 and center2)
+[CS_point_in_T2, r2, H_PS2T2] = KINEMATICS_TOOL_two_sphere_intersect(center3, center4, initial_configuration2);
+
+
+% options_outer = optimoptions('fmincon','Display','iter','Algorithm','interior-point',...
+% 'TolX', 1e-12,'TolFun', 1e-12, 'TolCon', 1e-12, ...
+% 'MaxFunEval', 100000,'DiffMinChange', 1e-5);
+%
+% % x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
+% lb = [];
+%
+% ub = [];
+%
+%
+% radii_parameters = fmincon(@(radii_par) cost(H_PS2T1, H_PS2T2, r1, r2, alpha0in, radii_par),...
+% initial_guess, [], [], [], [], lb, ub, [], options_outer)
+%
+
+
+options = optimset('Display','none', 'TolX', 1e-12, 'TolFun', 1e-12, 'MaxIter', 1000000);
+
+% run the optimization
+% conic_section1 = [H_PS2T1(1:3,4), H_PS2T1(1:3,1), H_PS2T1(1:3,2), [r1-0*radii_parameters(1) 0 0]']; % conic section center, u1, v1, conic section radius
+% conic_section2 = [H_PS2T2(1:3,4), H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2+radii_parameters(1) 0 0]']; % conic section center, u1, v1, conic section radius
+conic_section1 = [H_PS2T1(1:3,4), H_PS2T1(1:3,1), H_PS2T1(1:3,2), [r1 0 0]']; % conic section center, u1, v1, conic section radius
+conic_section2 = [H_PS2T2(1:3,4)+[centers_parameters(1) centers_parameters(2) centers_parameters(3)]', H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2+centers_parameters(4) 0 0]']; % conic section center, u1, v1, conic section radius
+%conic_section2 = [H_PS2T2(1:3,4), H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2 0 0]'];
+alpha0 = alpha0in; % Starting guess for the parametrization value of the conic sections (angle that defines the conic sections)
+
+[alpha,fval,exitflag,output] = fminsearch(@(alpha) objfun(conic_section1, conic_section2, alpha), alpha0, options);% fminunc
+
+
+estimated_GH(1:3,1) = point_on_conic(conic_section1, alpha(1));
+estimated_GH(1:3,2) = point_on_conic(conic_section2, alpha(2));
+
+%dist = norm(estimated_GH(1:3,1)-estimated_GH(1:3,2))
+%{
+% set the optimization options fminunc
+%options = optimoptions(@fminunc,'Algorithm','quasi-newton');
+% options = optimoptions(@fsolve,'Algorithm','Levenberg-Marquardt');
+options = optimset('Display','none', 'TolX', 1e-9, 'TolFun', 1e-9, 'MaxIter', 1000);
+
+% run the optimization
+conic_section1 = [H_PS2T1(1:3,4), H_PS2T1(1:3,1), H_PS2T1(1:3,2), [r1 0 0]']; % conic section center, u1, v1, conic section radius
+conic_section2 = [H_PS2T2(1:3,4), H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2 0 0]']; % conic section center, u1, v1, conic section radius
+
+ alpha0 = alpha0in; % Starting guess for the parametrization value of the conic sections (angle that defines the conic sections)
+
+[alpha,fval,exitflag,output] = fminsearch(@(alpha) objfun(conic_section1, conic_section2, alpha), alpha0, options);% fminunc
+
+
+estimated_GH(1:3,1) = point_on_conic(conic_section1, alpha(1));
+estimated_GH(1:3,2) = point_on_conic(conic_section2, alpha(2));
+%}
+
+
+% % define the intersection line
+% % 1) define the direction vector
+% n_matrix = [w1 w2]';
+% n = null(n_matrix); % or equivalently cross(n1, n2)
+% % 2) define an arbitrary point of the intersection line
+% x0 = inv(n_matrix'*n_matrix)*n_matrix'*[-d1; -d2] ;%+ null(n_matrix);
+%
+% % find the first intersection point (conic section one and the intersection line)
+% % 1) intersection line parameter
+% t1 = -dot((x0 - O_PS1), n)/norm(n)^2;
+% % 2) define the intersection point one
+% estimated_GH(1:3,1) = t1*n + x0;
+%
+%
+%
+% % find the second intersection point (conic section two and the intersection line)
+% % 1) intersection line parameter
+% t2 = -dot((x0 - O_PS2), n)/norm(n)^2;
+% % 2) define the intersection point two
+% estimated_GH(1:3,2) = t2*n + x0;
+
+% -------------------------------------------------------------------------
+% Plot the results
+% -------------------------------------------------------------------------
+% discritization_CS = 40;
+% t_PS = linspace(0,2*pi,discritization_CS); % the canonical parametrization variable from 0 to 2pi
+% CS_point_in_uvw = [(r1-0*radii_parameters(1))*cos(t_PS);
+% (r1-0*radii_parameters(1))*sin(t_PS);
+% zeros(1,discritization_CS);
+% ones(1,discritization_CS)];
+%
+% CS_point_in_M1 = H_PS2T1*CS_point_in_uvw; % intersection points in the thorax frame
+% CS_point_in_uvw = [(r2+radii_parameters(1))*cos(t_PS);
+% (r2+radii_parameters(1))*sin(t_PS);
+% zeros(1,discritization_CS);
+% ones(1,discritization_CS)];
+%
+% CS_point_in_M2 = H_PS2T2*CS_point_in_uvw; % intersection points in the thorax frame
+
+PlotValue = 0;
+if PlotValue
+ %set(Ehsan_fig, 'currentaxes', Ehsan_ax); hold on;
+figure('units', 'normalized', 'position', [0, 0, 0.5, 0.5]);
+% plot the spheres
+sphere_plot(center1, norm(initial_configuration1(:,1) - initial_configuration1(:,3)));
+%sphere_plot(center1, initial_configuration1(1,1));
+hold on
+
+sphere_plot(center2, norm(initial_configuration1(:,2) - initial_configuration1(:,3)));
+%sphere_plot(center2, initial_configuration1(1, 2));
+sphere_plot(center3, norm(initial_configuration2(:,1) - initial_configuration2(:,3)));
+%sphere_plot(center3, initial_configuration2(1,1));
+
+sphere_plot(center4, norm(initial_configuration2(:,2) - initial_configuration2(:,3)));
+%sphere_plot(center4, initial_configuration2(1, 2));
+
+% plot the conic section 1
+plot3(CS_point_in_T1(1,:),CS_point_in_T1(2,:),CS_point_in_T1(3,:),'o',...
+ 'MarkerSize', 7, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 0 0])
+
+
+plot3(CS_point_in_M1(1,:),CS_point_in_M1(2,:),CS_point_in_M1(3,:),'*',...
+ 'MarkerSize', 7, 'MarkerEdgeColor', 'b', 'MarkerFaceColor', 'b')
+
+
+% plot the conic section 2
+plot3(CS_point_in_T2(1,:),CS_point_in_T2(2,:),CS_point_in_T2(3,:),'o',...
+ 'MarkerSize', 7, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 0 0])
+
+ plot3(CS_point_in_M2(1,:),CS_point_in_M2(2,:),CS_point_in_M2(3,:),'*',...
+ 'MarkerSize', 7, 'MarkerEdgeColor', 'b', 'MarkerFaceColor', 'b')
+
+% plot the intersection point 1
+plot3(estimated_GH(1,1),estimated_GH(2,1),estimated_GH(3,1),'o',...
+ 'MarkerSize', 12, 'MarkerEdgeColor', [0 0 1], 'MarkerFaceColor', [0 0 1])
+
+% plot the intersection point 2
+plot3(estimated_GH(1,2),estimated_GH(2,2),estimated_GH(3,2),'o',...
+ 'MarkerSize', 12, 'MarkerEdgeColor', [1 0 0], 'MarkerFaceColor', [1 0 0])
+
+ plot3(center1(1,1),center1(2,1),center1(3,1),'o',...
+ 'MarkerSize', 5, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 1 0])
+ plot3(center2(1,1),center2(2,1),center2(3,1),'o',...
+ 'MarkerSize', 5, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 1 0])
+ plot3(center3(1,1),center3(2,1),center3(3,1),'o',...
+ 'MarkerSize', 5, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 1 0])
+ plot3(center4(1,1),center4(2,1),center4(3,1),'o',...
+ 'MarkerSize', 5, 'MarkerEdgeColor', [0 0 0], 'MarkerFaceColor', [0 1 0])
+
+%axis equal
+end
+return;
+
+% -------------------------------------------------------------------------
+% function for plotting
+% -------------------------------------------------------------------------
+
+function sphere_plot(center_value, radius_value)
+
+theta = linspace(0,2*pi,40);
+phi = linspace(0,pi,40);
+
+[theta,phi] = meshgrid(theta,phi);
+
+% quantify and plot the sphere centered at center_value
+% r_value = norm(center_value - common_point_value);
+r_value = radius_value;
+
+x_value = r_value*sin(phi).*cos(theta) + center_value(1);
+y_value = r_value*sin(phi).*sin(theta) + center_value(2);
+z_value = r_value*cos(phi) + center_value(3);
+
+sphere_plot = surf(x_value, y_value, z_value);
+sphere_plot.EdgeColor = [0.7 0.7 0.7];
+sphere_plot.FaceColor = [0.7 0.7 0.7];
+sphere_plot.FaceAlpha = 0.1;
+sphere_plot.EdgeAlpha = 0.3;
+
+axis equal
+
+return;
+
+% -------------------------------------------------------------------------
+% Cost function inside four sphere
+% -------------------------------------------------------------------------
+function f = objfun(conic_section1, conic_section2, alpha)
+
+% center_value1 = conic_section1(1:3,1);
+% radius_value1 = conic_section1(1,4);
+% yvector_value1 = conic_section1(1:3,2);
+% xvector_value1 = conic_section1(1:3,3);
+%
+% center_value2 = conic_section2(1:3,1);
+% radius_value2 = conic_section2(1,4);
+% yvector_value2 = conic_section2(1:3,2);
+% xvector_value2 = conic_section2(1:3,3);
+
+pp1 = point_on_conic(conic_section1, alpha(1));
+pp2 = point_on_conic(conic_section2, alpha(2));
+
+f = norm(pp1 - pp2)^2;
+
+%f = pp1 - pp2;
+return;
+
+% -------------------------------------------------------------------------
+% Conic section eval
+% -------------------------------------------------------------------------
+function pp = point_on_conic(conic_section, angle_id)
+
+center_value = conic_section(1:3,1);
+radius_value = conic_section(1,4);
+yvector_value = conic_section(1:3,2);
+xvector_value = conic_section(1:3,3);
+
+pp = center_value + radius_value*cos(angle_id)*yvector_value + radius_value*sin(angle_id)*xvector_value;
+return;
+
+% % -------------------------------------------------------------------------
+% % Cost function outside four sphere
+% % -------------------------------------------------------------------------
+% function distance = cost(H_PS2T1, H_PS2T2, r1, r2, alpha0in, radii_par)
+%
+% % set the optimization options fminunc
+% %options = optimoptions(@fminunc,'Algorithm','quasi-newton');
+% % options = optimoptions(@fsolve,'Algorithm','Levenberg-Marquardt');
+% options = optimset('Display','none', 'TolX', 1e-12, 'TolFun', 1e-12, 'MaxIter', 100000);
+%
+% % run the optimization
+% conic_section1 = [H_PS2T1(1:3,4), H_PS2T1(1:3,1), H_PS2T1(1:3,2), [r1-0*radii_par(1) 0 0]']; % conic section center, u1, v1, conic section radius
+% conic_section2 = [H_PS2T2(1:3,4), H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2+radii_par(1) 0 0]']; % conic section center, u1, v1, conic section radius
+%
+% alpha0 = alpha0in; % Starting guess for the parametrization value of the conic sections (angle that defines the conic sections)
+%
+% [alpha,fval,exitflag,output] = fminsearch(@(alpha) objfun(conic_section1, conic_section2, alpha), alpha0, options);% fminunc
+%
+%
+% estimated_GH(1:3,1) = point_on_conic(conic_section1, alpha(1));
+% estimated_GH(1:3,2) = point_on_conic(conic_section2, alpha(2));
+% % center_value1 = conic_section1(1:3,1);
+% % radius_value1 = conic_section1(1,4);
+% % yvector_value1 = conic_section1(1:3,2);
+% % xvector_value1 = conic_section1(1:3,3);
+% %
+% % center_value2 = conic_section2(1:3,1);
+% % radius_value2 = conic_section2(1,4);
+% % yvector_value2 = conic_section2(1:3,2);
+% % xvector_value2 = conic_section2(1:3,3);
+%
+%
+% distance = norm(estimated_GH(1:3,1) - estimated_GH(1:3,2))^2;
+%
+% %f = pp1 - pp2;
+% return;
+
+% -------------------------------------------------------------------------
+% Cost function outside four sphere
+% -------------------------------------------------------------------------
+function distance = cost(center1, center2, initial_configuration1, center3, center4, initial_configuration2, alpha0in, center_par)
+
+% find the first conic section (intersection of spheres centered at center1 and center2)
+[CS_point_in_T1, r1, H_PS2T1] = KINEMATICS_TOOL_two_sphere_intersect(center1, center2, initial_configuration1); % CS_point_in_T1: points of the conic section in thorax
+ % r1: radius of the resulted conic section
+ % H_PS2T1: Homogenous transformation from PS (parametrization Surface) to Thorax
+
+% find the second conic section (intersection of spheres centered at center1 and center2)
+[CS_point_in_T2, r2, H_PS2T2] = KINEMATICS_TOOL_two_sphere_intersect(center3, center4, initial_configuration2);
+
+
+options = optimset('Display','none', 'TolX', 1e-12, 'TolFun', 1e-12, 'MaxIter', 1000000);
+
+% run the optimization
+conic_section1 = [H_PS2T1(1:3,4), H_PS2T1(1:3,1), H_PS2T1(1:3,2), [r1 0 0]']; % conic section center, u1, v1, conic section radius
+conic_section2 = [H_PS2T2(1:3,4)+[center_par(1) center_par(2) center_par(3)]', H_PS2T2(1:3,1), H_PS2T2(1:3,2), [r2+center_par(4) 0 0]']; % conic section center, u1, v1, conic section radius
+
+alpha0 = alpha0in; % Starting guess for the parametrization value of the conic sections (angle that defines the conic sections)
+
+[alpha,fval,exitflag,output] = fminsearch(@(alpha) objfun(conic_section1, conic_section2, alpha), alpha0, options);% fminunc
+
+
+estimated_GH(1:3,1) = point_on_conic(conic_section1, alpha(1));
+estimated_GH(1:3,2) = point_on_conic(conic_section2, alpha(2));
+
+distance = norm(estimated_GH(1:3,1) - estimated_GH(1:3,2));
+
+%f = pp1 - pp2;
+return;
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_TS_intersect_coordinate.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_TS_intersect_coordinate.m
new file mode 100755
index 0000000..09931ad
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_TS_intersect_coordinate.m
@@ -0,0 +1,147 @@
+function mu0 = KINEMATICS_TOOL_get_TS_intersect_coordinate(REDATA, BLDATA)
+% Function for computing the intial value of the TS intersection coordinate
+%--------------------------------------------------------------------------
+% Syntax
+% mu0 = KINEMATICS_TOOL_get_TS_intersect_coordinate(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the intial coordinate of the sphere ellipsoid
+% intersection coordinate for the TS point. This is done by computing the
+% intersection quadric and extracting the parameterisation coordinates.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+mu0 = 0;
+
+%--------------------------------------------------------------------------
+% Build Sphere Quadric around AI
+%--------------------------------------------------------------------------
+% Get the AI coordinates
+AIx = BLDATA.Initial_Points.AI(1) - REDATA.Centre(1);
+AIy = BLDATA.Initial_Points.AI(2) - REDATA.Centre(2);
+AIz = BLDATA.Initial_Points.AI(3) - REDATA.Centre(3);
+
+% Sphere Radii
+R = norm(BLDATA.Initial_Points.TS - BLDATA.Initial_Points.AI);
+
+% Quadric Matrix
+T = [1, 0, 0, -AIx;
+ 0, 1, 0, -AIy;
+ 0, 0, 1, -AIz;
+ -AIx, -AIy, -AIz, AIx^2+AIy^2+AIz^2-R^2];
+
+%--------------------------------------------------------------------------
+% Build Ellipsoid Quadric
+%--------------------------------------------------------------------------
+% Get the Ellipsoid Axes
+Ax = REDATA.TSaxes(1,1); Ay = REDATA.TSaxes(2,1); Az = REDATA.TSaxes(3,1);
+
+% Quadric Matrix
+S = [1/Ax^2, 0, 0, 0;
+ 0, 1/Ay^2, 0, 0;
+ 0, 0, 1/Az^2, 0;
+ 0, 0, 0, -1];
+
+%--------------------------------------------------------------------------
+% Identify the type of intersection quadric
+%--------------------------------------------------------------------------
+IQuad = KINEMATICS_TOOL_intersection_identification(S, T);
+
+% Construct the ruled surface
+RSDATA = KINEMATICS_TOOL_ruled_surface_parameters(IQuad);
+
+% Get the lower and upper bounds on the ruled surface u parameter
+[Ubounds, RSDATA] = KINEMATICS_TOOL_parameter_bounds(RSDATA);
+
+%--------------------------------------------------------------------------
+% Extract the Parameterisation Coordinates
+%--------------------------------------------------------------------------
+% Get the point in the ellipsoid reference system
+TS = [BLDATA.Initial_Points.TS - REDATA.Centre; 1];
+
+% Perform the Index Switch
+TS = TS(IQuad.IndexSwitch,1);
+
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic-Cylinder
+%--------------------------------------------------------------------------
+if isequal(RSDATA.Type, 'Hyperbolic-Cylinder')
+ % Get the Normalised Quadric Parameters
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+
+ u = 0;
+ v = 0;
+ Vval = 0;
+ Idx = 0;
+
+ % Compute parameters depending on the type of parameterisation
+ if RSDATA.ParamType == 1
+ u = acosh((TS(1) - x0)/a);
+ u = asinh((TS(2) - y0)/b);
+ elseif RSDATA.ParamType == 2
+ u = acosh((TS(1) - x0)/-a);
+ u = asinh((TS(2) - y0)/b);
+ elseif RSDATA.ParamType == 3
+ u = asinh((TS(1) - x0)/a);
+ u = acosh((TS(2) - y0)/b);
+ elseif RSDATA.ParamType == 4
+ u = asinh((TS(1) - x0)/a);
+ u = acosh((TS(2) - y0)/-b);
+ end
+
+ % Compute the v's based on u
+ Vval = KINEMATICS_TOOL_v_of_u(RSDATA, u);
+ v = TS(3);
+
+ % Evaluate the errors
+ Err = [abs(Vval.vp-v), abs(Vval.vn-v)];
+ [Val, Idx] = min(Err);
+
+ % Extract the Normalised coordinate
+ if Idx == 1
+ mu0 = (u - Ubounds.Umin)/(2*(Ubounds.Umax - Ubounds.Umin));
+ elseif Idx == 2
+ mu0 = (Ubounds.Umax - u)/(2*(Ubounds.Umax - Ubounds.Umin)) + 0.5;
+ end
+
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic Paraboloid
+%--------------------------------------------------------------------------
+elseif isequal(RSDATA.Type, 'Hyperbolic Paraboloid')
+ % Get the Normalised Quadric Parameters
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ c = RSDATA.NPc;
+ ss = sign(RSDATA.Coef(3));
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+ z0 = RSDATA.Centre(3);
+
+ % Compute parameters
+ v = (TS(2) - b/a*TS(1) + b/a*x0 - y0)/(2*ss*b/c);
+ u = c/a*(TS(1) - x0 + ss*a/c*v);
+
+ % Compute both v's based on u.
+ Vval = KINEMATICS_TOOL_v_of_u(RSDATA, u);
+
+ % Evaluate the errors
+ Err = [abs(Vval.vp-v), abs(Vval.vn-v)];
+ [Val, Idx] = min(Err);
+
+ % Extract the Normalised coordinate
+ if Idx == 1
+ mu0 = (u - Ubounds.Umin)/(2*(Ubounds.Umax - Ubounds.Umin));
+ elseif Idx == 2
+ mu0 = (Ubounds.Umax - u)/(2*(Ubounds.Umax - Ubounds.Umin)) + 0.5;
+ end
+end
+
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_initial_values.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_initial_values.m
new file mode 100755
index 0000000..89429cc
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_get_initial_values.m
@@ -0,0 +1,123 @@
+function KEDATA = KINEMATICS_TOOL_get_initial_values(REDATA, BLDATA)
+% Function for getting the initial values of the coordinates
+%--------------------------------------------------------------------------
+% Syntax :
+% MC0 = KINEMATICS_TOOL_get_initial_values(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function computes the initial values of all the minimal coordinates
+% based on the initial bony landmark structure.
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+KEDATA = [];
+
+% Get the Initial Joint Angles
+JEA0 = MAIN_TOOL_geometry_functions('Get Euler Angles From Initial Rotation Matrices', BLDATA);
+
+% Initial Joint Angles
+KEDATA.Initial_Joint_Angles = JEA0;
+
+%--------------------------------------------------------------------------
+% The First Initial Minimal Coordinate: Clavicual Axial Rotation
+%--------------------------------------------------------------------------
+KEDATA.Initial_Minimal_Coordinate(1,1) = JEA0(1);
+
+%--------------------------------------------------------------------------
+% Second & Third Initial Minimal Coordinates: AI spherical coordinates
+%--------------------------------------------------------------------------
+% Get the AI coordinates
+AIx = BLDATA.Initial_Points.AI(1) - REDATA.Centre(1);
+AIy = BLDATA.Initial_Points.AI(2) - REDATA.Centre(2);
+AIz = BLDATA.Initial_Points.AI(3) - REDATA.Centre(3);
+
+Ax = REDATA.AIaxes(1);
+Ay = REDATA.AIaxes(2);
+Az = REDATA.AIaxes(3);
+
+% The position of AI, with respect to the ellipsoid centre is :
+% AIx = Ax sin(M3) cos(M2)
+% AIy = Ay sin(M3) sin(M2)
+% AIz = Az cos(M3)
+KEDATA.Initial_Minimal_Coordinate(3,1) = acos(AIz/Az);
+KEDATA.Initial_Minimal_Coordinate(2,1) = atan2(AIy*Ax,AIx*Ay);
+
+%--------------------------------------------------------------------------
+% The Fourth Initial Minimal Coordinates: TS intersection Coordinate
+%--------------------------------------------------------------------------
+mu0 = KINEMATICS_TOOL_get_TS_intersect_coordinate(REDATA, BLDATA);
+KEDATA.Initial_Minimal_Coordinate(4,1) = mu0;
+
+%--------------------------------------------------------------------------
+% The Fifth to Seventh Initial Minimal Coordinates: Glenohumeral Joint Angles
+%--------------------------------------------------------------------------
+% These values are inintialised a bit differently
+KEDATA.Initial_Minimal_Coordinate(5,1) = 0;%JEA0(7);%
+KEDATA.Initial_Minimal_Coordinate(6,1) = -1*pi/180;%JEA0(8);%
+KEDATA.Initial_Minimal_Coordinate(7,1) = 30*pi/180;%JEA0(9);%
+
+%--------------------------------------------------------------------------
+% The Eighth and Nineth Initial Minimal Coordinates: Humeroulnar and Radiulnar Joint Angles
+%--------------------------------------------------------------------------
+% These values might be inintialized a bit differently
+KEDATA.Initial_Minimal_Coordinate(8,1) = JEA0(10);%0*pi/180; %JEA0(8);
+KEDATA.Initial_Minimal_Coordinate(9,1) = JEA0(11);%0*pi/180; %JEA0(9);
+
+%--------------------------------------------------------------------------
+% Set the final values and build an initial motion
+%--------------------------------------------------------------------------
+% Set the Final Values (these values were obtained from initial testing,
+% they are not necessarily the best)
+KEDATA.Final_Minimal_Coordinate(1,1) = 30*pi/180;
+KEDATA.Final_Minimal_Coordinate(2,1) = -40*pi/180;
+KEDATA.Final_Minimal_Coordinate(3,1) = 90*pi/180;
+KEDATA.Final_Minimal_Coordinate(4,1) = KEDATA.Initial_Minimal_Coordinate(4,1)+0.07;
+KEDATA.Final_Minimal_Coordinate(5,1) = 0*pi/180;
+KEDATA.Final_Minimal_Coordinate(6,1) = -140*pi/180;
+KEDATA.Final_Minimal_Coordinate(7,1) = 30*pi/180;
+KEDATA.Final_Minimal_Coordinate(8,1) = JEA0(10);%0*pi/180;
+KEDATA.Final_Minimal_Coordinate(9,1) = JEA0(11);%0*pi/180;
+
+% Set the polynomial orders
+KEDATA.Order = 5*ones(1,9);
+
+% Set the Derivative Conditions
+KEDATA.DerCond = zeros(9,8);
+
+% Number of way points
+KEDATA.NbPoints = 100;
+
+%--------------------------------------------------------------------------
+% Build an initial motion
+%--------------------------------------------------------------------------
+% This function will set the following elements of KEDATA
+% KEDATA.Joint_Angle_Evolution
+% KEDATA.Coordinate_Evolution.M1
+% KEDATA.Coordinate_Evolution.M2
+% KEDATA.Coordinate_Evolution.M3
+% KEDATA.Coordinate_Evolution.M4
+% KEDATA.Coordinate_Evolution.M5
+% KEDATA.Coordinate_Evolution.M6
+% KEDATA.Coordinate_Evolution.M7
+% KEDATA.Coordinate_Evolution.M8
+% KEDATA.Coordinate_Evolution.M9
+% KEDATA.Point_Evolution.IJ
+% KEDATA.Point_Evolution.PX
+% KEDATA.Point_Evolution.T8
+% KEDATA.Point_Evolution.C7
+% KEDATA.Point_Evolution.SC
+% KEDATA.Point_Evolution.AC
+% KEDATA.Point_Evolution.AA
+% KEDATA.Point_Evolution.TS
+% KEDATA.Point_Evolution.AI
+% KEDATA.Point_Evolution.GH
+% KEDATA.Point_Evolution.HU
+% KEDATA.Point_Evolution.EL
+% KEDATA.Point_Evolution.EM
+% KEDATA.Point_Evolution.CP
+% KEDATA.Point_Evolution.US
+% KEDATA.Point_Evolution.RS
+KEDATA = KINEMATICS_TOOL_build_motion(KEDATA, BLDATA, REDATA);
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_give_fiacco.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_give_fiacco.m
new file mode 100755
index 0000000..15e2594
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_give_fiacco.m
@@ -0,0 +1,100 @@
+function [Hessian_est, Lost_factor] = KINEMATICS_TOOL_give_fiacco(JEA, SSDATA, multipliers, time_id)
+
+
+q1 = JEA(1);
+q2 = JEA(2);
+q3 = JEA(3);
+q4 = JEA(4);
+q5 = JEA(5);
+q6 = JEA(6);
+q7 = JEA(7);
+q8 = JEA(8);
+q9 = JEA(9);
+q10 = JEA(10);
+q11 = JEA(11);
+
+% lagrange multipliers
+w1 = multipliers(1, 1);
+w2 = multipliers(2, 1);
+
+i = time_id;
+
+IJ_m1 = SSDATA.Measured_Kinematics.IJ(1,i);
+IJ_m2 = SSDATA.Measured_Kinematics.IJ(2,i);
+IJ_m3 = SSDATA.Measured_Kinematics.IJ(3,i);
+
+PX_m1 = SSDATA.Measured_Kinematics.PX(1,i);
+PX_m2 = SSDATA.Measured_Kinematics.PX(2,i);
+PX_m3 = SSDATA.Measured_Kinematics.PX(3,i);
+
+T8_m1 = SSDATA.Measured_Kinematics.T8(1,i);
+T8_m2 = SSDATA.Measured_Kinematics.T8(2,i);
+T8_m3 = SSDATA.Measured_Kinematics.T8(3,i);
+
+C7_m1 = SSDATA.Measured_Kinematics.C7(1,i);
+C7_m2 = SSDATA.Measured_Kinematics.C7(2,i);
+C7_m3 = SSDATA.Measured_Kinematics.C7(3,i);
+
+SC_m1 = SSDATA.Measured_Kinematics.SC(1,i);
+SC_m2 = SSDATA.Measured_Kinematics.SC(2,i);
+SC_m3 = SSDATA.Measured_Kinematics.SC(3,i);
+
+AC_m1 = SSDATA.Measured_Kinematics.AC(1,i);
+AC_m2 = SSDATA.Measured_Kinematics.AC(2,i);
+AC_m3 = SSDATA.Measured_Kinematics.AC(3,i);
+
+AA_m1 = SSDATA.Measured_Kinematics.AA(1,i);
+AA_m2 = SSDATA.Measured_Kinematics.AA(2,i);
+AA_m3 = SSDATA.Measured_Kinematics.AA(3,i);
+
+TS_m1 = SSDATA.Measured_Kinematics.TS(1,i);
+TS_m2 = SSDATA.Measured_Kinematics.TS(2,i);
+TS_m3 = SSDATA.Measured_Kinematics.TS(3,i);
+
+AI_m1 = SSDATA.Measured_Kinematics.AI(1,i);
+AI_m2 = SSDATA.Measured_Kinematics.AI(2,i);
+AI_m3 = SSDATA.Measured_Kinematics.AI(3,i);
+
+GH_m1 = SSDATA.Measured_Kinematics.GH(1,i);
+GH_m2 = SSDATA.Measured_Kinematics.GH(2,i);
+GH_m3 = SSDATA.Measured_Kinematics.GH(3,i);
+
+HU_m1 = SSDATA.Measured_Kinematics.HU(1,i);
+HU_m2 = SSDATA.Measured_Kinematics.HU(2,i);
+HU_m3 = SSDATA.Measured_Kinematics.HU(3,i);
+
+EL_m1 = SSDATA.Measured_Kinematics.EL(1,i);
+EL_m2 = SSDATA.Measured_Kinematics.EL(2,i);
+EL_m3 = SSDATA.Measured_Kinematics.EL(3,i);
+
+EM_m1 = SSDATA.Measured_Kinematics.EM(1,i);
+EM_m2 = SSDATA.Measured_Kinematics.EM(2,i);
+EM_m3 = SSDATA.Measured_Kinematics.EM(3,i);
+
+US_m1 = SSDATA.Measured_Kinematics.US(1,i);
+US_m2 = SSDATA.Measured_Kinematics.US(2,i);
+US_m3 = SSDATA.Measured_Kinematics.US(3,i);
+
+CP_m1 = SSDATA.Measured_Kinematics.CP(1,i);
+CP_m2 = SSDATA.Measured_Kinematics.CP(2,i);
+CP_m3 = SSDATA.Measured_Kinematics.CP(3,i);
+
+RS_m1 = SSDATA.Measured_Kinematics.RS(1,i);
+RS_m2 = SSDATA.Measured_Kinematics.RS(2,i);
+RS_m3 = SSDATA.Measured_Kinematics.RS(3,i);
+
+KINEMATICS_TOOL_lost_factor;
+
+Hessian_est = M_matrix(1:11,1:11);
+Lost_factor = M_matrix(2:11,2:11)\N_matrix(2:11,:);
+
+return
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_intersection_identification.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_intersection_identification.m
new file mode 100755
index 0000000..9f29af0
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_intersection_identification.m
@@ -0,0 +1,104 @@
+function IQuad = KINEMATICS_TOOL_intersection_identification(S, T)
+% Function for indentifying the type of quadric intersection
+%--------------------------------------------------------------------------
+% Syntax
+% IQuad = KINEMATICS_TOOL_intersection_identification(S, T)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function identifies the type of quadric resulting from the sphere
+% ellipsoid intersection.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+IQuad.Type = '';
+IQuad.Axis = '';
+IQuad.IndexSwitch = [1,2,3,4];
+IQuad.S = S;
+IQuad.T = T;
+IQuad.Q = S+T;
+
+%--------------------------------------------------------------------------
+% Initial Possibilities
+%--------------------------------------------------------------------------
+% List of Possible Eigenvalues for the intersection quadric
+lam(1) = -S(1,1);
+lam(2) = -S(2,2);
+lam(3) = -S(3,3);
+
+% Selection Index
+Idx = 0;
+
+%--------------------------------------------------------------------------
+% Selection Process
+%--------------------------------------------------------------------------
+for i = 1:3
+ % Compute the Quadric matrix
+ Qi = S + lam(i)*T;
+
+ % Get the 3 x 3 sub-matrix
+ Qi3 = Qi(1:3,1:3);
+
+ % Get the Eigenvalues
+ Eg = eig(Qi3);
+
+ % Initialise number of possitive and negative eigen values
+ p = 0;
+ n = 0;
+ for j = 1:3
+ if Eg(j,1) > 1.e-8
+ p = p+1;
+ elseif Eg(j,1) < -1.e-8
+ n = n+1;
+ end
+ end
+
+ % Eigenvalue sign balance
+ Ebalance = p - n;
+
+ % Test condition
+ if Ebalance == 0
+ Idx = i;
+ break;
+ end
+end
+
+% Define the intersection Quadric
+Q = S + lam(Idx)*T;
+Q3 = Q(1:3,1:3);
+
+%--------------------------------------------------------------------------
+% STEP 2 : Identify the type of quadric & Principle Direction
+%--------------------------------------------------------------------------
+TypeList = {'Hyperbolic-Cylinder', 'Hyperbolic Paraboloid'};
+AxisList = {'X-axis', 'Y-axis', 'Z-axis'};
+
+% Find the Value on the diagonal which is zero
+Idz = find(abs(diag(Q3)) < 1.e-8);
+
+% Set the Quadrics Principle Axis
+IQuad.Axis = AxisList{1,Idz};
+
+% Set the Type of quadric for the intersection
+if abs(Q(Idz, 4)) < 1.e-8
+ IQuad.Type = TypeList{1,1};
+else
+ IQuad.Type = TypeList{1,2};
+end
+
+% Make Sure that the X has positive value
+Idx = find(diag(Q3) > 1.e-8);
+Idy = find(diag(Q3) < -1.e-8);
+
+% Set the index switch to normalise the quadric
+IQuad.IndexSwitch = [Idx, Idy, Idz, 4];
+
+% Set the Quadrics
+IQuad.S = S(IQuad.IndexSwitch, IQuad.IndexSwitch);
+IQuad.T = T(IQuad.IndexSwitch, IQuad.IndexSwitch);
+IQuad.Q = Q(IQuad.IndexSwitch, IQuad.IndexSwitch);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_lost_factor.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_lost_factor.m
new file mode 100755
index 0000000..92d83ad
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_lost_factor.m
@@ -0,0 +1,793 @@
+M_matrix(1,1) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - w2*(((315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - 2*((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + ((29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000)) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 22*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)^2 + 22*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)^2 - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) + 22*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)^2 - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - w1*(((1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) + ((47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - 2*((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752) + ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AC_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328);
+M_matrix(1,2) =2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 22*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 22*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - w2*(((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + ((315646650030559076521466484699*cos(q1)*cos(q2)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q2)*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - ((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616) + ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464) - ((1376575289504304870237453059535*cos(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((584244368041095722070492073263*cos(q1)*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q2)*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384)) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 22*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AC_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - w1*(((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) + ((1838727609874499052299690285967*cos(q1)*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q2)*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((860406579862249161269288642211*cos(q1)*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q2)*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2167950567725034837341048124003*cos(q1)*sin(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*sin(q1)*sin(q2))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328);
+M_matrix(1,3) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 22*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((6870750071642683468834940753879*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((584244368041095722070492073263*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (12717375689514086411452363940923*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)) - 22*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - w1*(((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((40023988393520090833285845306907*cos(q1)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*sin(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((860406579862249161269288642211*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (18728659308305835488569067879231*cos(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q3)*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832);
+M_matrix(1,4) =14*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - w2*(((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808) + ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688) - ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232) + ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)) + 14*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 14*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w1*(((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) + ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672) - ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344));
+M_matrix(1,5) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - 14*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - w2*(((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376) - w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) - ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)) - 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752);
+M_matrix(1,6) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + w1*(((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)) - w2*(((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - 14*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 14*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752);
+M_matrix(1,7) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496);
+M_matrix(1,8) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376);
+M_matrix(1,9) =2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(1,10) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(1,11) =2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688);
+M_matrix(1,12) =((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384);
+M_matrix(1,13) =((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000);
+M_matrix(2,1) =2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 22*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 22*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - w2*(((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + ((315646650030559076521466484699*cos(q1)*cos(q2)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q2)*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - ((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616) + ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464) - ((1376575289504304870237453059535*cos(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((584244368041095722070492073263*cos(q1)*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q2)*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384)) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 22*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AC_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - w1*(((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) + ((1838727609874499052299690285967*cos(q1)*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q2)*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((860406579862249161269288642211*cos(q1)*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q2)*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2167950567725034837341048124003*cos(q1)*sin(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*sin(q1)*sin(q2))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((283419786321657*cos(q1)*cos(q2)*sin(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1)*sin(q3))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)) + 2*((283419786321657*cos(q1)*sin(q2))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((283419786321657*cos(q1)*cos(q2)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q2)*cos(q3)*sin(q1))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328);
+M_matrix(2,2) =2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + w1*(((1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 - (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + 2*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - ((631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + 2*((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 22*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)^2 + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 22*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)^2 - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + w2*(2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616) - ((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 - (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + 2*((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - ((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)) - 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(AC_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - 759935621512117/140737488355328) + 22*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)^2 - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) - 2*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328);
+M_matrix(2,3) =w2*(((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616) + ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - ((429032505706409839964257817019413129873943548889*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((231791148684071460418617298570487095850207528397*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 22*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 22*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((1350246501170422896945778075117430141968034439801*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*sin(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((631828753646825959856205860340776422474197339333*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) + ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832);
+M_matrix(2,4) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 14*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + w2*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + ((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 14*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + ((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - 14*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376);
+M_matrix(2,5) =2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616) - ((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232) - ((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)) + w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - ((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688);
+M_matrix(2,6) =2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w1*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + 14*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 14*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688);
+M_matrix(2,7) =2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008);
+M_matrix(2,8) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376);
+M_matrix(2,9) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(2,10) =2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688);
+M_matrix(2,11) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(2,12) =((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(2,13) =((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(3,1) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 22*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((6870750071642683468834940753879*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((584244368041095722070492073263*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (12717375689514086411452363940923*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)) - 22*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - w1*(((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((40023988393520090833285845306907*cos(q1)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*sin(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((860406579862249161269288642211*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (18728659308305835488569067879231*cos(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q3)*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832);
+M_matrix(3,2) =w2*(((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616) + ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - ((429032505706409839964257817019413129873943548889*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((231791148684071460418617298570487095850207528397*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 22*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 22*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((1350246501170422896945778075117430141968034439801*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*sin(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((631828753646825959856205860340776422474197339333*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) + ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832);
+M_matrix(3,3) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - AC_m2 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AC_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 22*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)^2 - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 22*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)^2 - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - w2*(((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - w1*(((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832);
+M_matrix(3,4) =2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)) - 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 14*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)) - 14*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752);
+M_matrix(3,5) =2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616));
+M_matrix(3,6) =2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - w1*(((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 14*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w2*(((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) - ((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808));
+M_matrix(3,7) =2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496);
+M_matrix(3,8) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(3,9) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(3,10) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688);
+M_matrix(3,11) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688);
+M_matrix(3,12) =((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328);
+M_matrix(3,13) =((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(4,1) =14*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - w2*(((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808) + ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688) - ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232) + ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)) + 14*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 14*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w1*(((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) + ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672) - ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344));
+M_matrix(4,2) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 14*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + w2*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + ((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 14*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + ((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) - 14*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376);
+M_matrix(4,3) =2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)) - 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 14*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)) - 14*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752);
+M_matrix(4,4) =2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)^2 - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)^2 + w1*(((30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + 2*((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672) - ((16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000)) + w2*(2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232) + ((82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808) - ((436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + 2*((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688) - ((100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048)) - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)^2 - 2*((2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)^2 + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)^2 + 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)^2 + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)^2 - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)^2 - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 14*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)^2 + 14*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)^2 + 14*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)^2 - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) - 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752)^2 - 2*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832);
+M_matrix(4,5) =2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((9983898385868714741432888685789*cos(q4)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*sin(q4)*sin(q5))/158456325028528675187087900672)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*cos(q6)*sin(q4))/158456325028528675187087900672)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 14*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((39935593543474854164894647684013*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((39935593543474854164894647684013*cos(q4)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*sin(q4)*sin(q5))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928) - ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) + ((193967936950047662023599781476755441714511856315*cos(q4)*sin(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232) - ((44476557133077737902386208688757412933367415991*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q5)*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((82323629958825658370858542440479665378431866267*cos(q4)*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((39935593543474854164894647684013*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((39935593543474854164894647684013*cos(q4)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*sin(q4)*sin(q5))/633825300114114700748351602688)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5)*sin(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4)*sin(q6))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((39935593543474862419682065216689*cos(q4)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*sin(q4)*sin(q5))/2535301200456458802993406410752)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - w1*(((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + ((30309146638507382201304309282608096191517228847*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q5)*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((76369396980591848759960370702252139150734146031*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) + ((9983898385868714741432888685789*cos(q4)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*sin(q4)*sin(q5))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464) + ((9983898385868714741432888685789*cos(q4)*cos(q5)*sin(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4)*sin(q6))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((9983898385868714741432888685789*cos(q4)*cos(q5)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*cos(q6)*sin(q4))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((64772011349425971503959280850289263001427443659*cos(q4)*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328));
+M_matrix(4,6) =2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 14*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w1*(((7595862958642332117168914520765359706087537673*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)) - 14*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((185200134186446248002380635306940378638091708755*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048)) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832);
+M_matrix(4,7) =2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752);
+M_matrix(4,8) =2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752);
+M_matrix(4,9) =2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(4,10) =2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(4,11) =2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(4,12) =((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(4,13) =((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(5,1) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - 14*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - w2*(((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376) - w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856) - ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)) - 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752);
+M_matrix(5,2) =2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616) - ((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376) + ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232) - ((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)) + w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - ((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232) - ((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688);
+M_matrix(5,3) =2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w1*(((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + w2*(((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616));
+M_matrix(5,4) =2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((39935593543474862419682065216689*cos(q4)*cos(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4))/2535301200456458802993406410752)*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((9983898385868714741432888685789*cos(q4)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*sin(q4)*sin(q5))/158456325028528675187087900672)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*cos(q6)*sin(q4))/158456325028528675187087900672)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 14*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((39935593543474854164894647684013*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((39935593543474854164894647684013*cos(q4)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*sin(q4)*sin(q5))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928) - ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) + ((193967936950047662023599781476755441714511856315*cos(q4)*sin(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232) - ((44476557133077737902386208688757412933367415991*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q5)*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((82323629958825658370858542440479665378431866267*cos(q4)*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((39935593543474854164894647684013*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((39935593543474854164894647684013*cos(q4)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*sin(q4)*sin(q5))/633825300114114700748351602688)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((9983898385868714741432888685789*cos(q4)*cos(q5)*sin(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4)*sin(q6))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((39935593543474862419682065216689*cos(q4)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*sin(q4)*sin(q5))/2535301200456458802993406410752)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((39935593543474862419682065216689*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*cos(q4)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((39935593543474854164894647684013*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - w1*(((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672) + ((30309146638507382201304309282608096191517228847*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q5)*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((76369396980591848759960370702252139150734146031*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344) + ((9983898385868714741432888685789*cos(q4)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*sin(q4)*sin(q5))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464) + ((9983898385868714741432888685789*cos(q4)*cos(q5)*sin(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4)*sin(q6))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((9983898385868714741432888685789*cos(q4)*cos(q5)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*cos(q6)*sin(q4))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((64772011349425971503959280850289263001427443659*cos(q4)*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328));
+M_matrix(5,5) =2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)^2 - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376)*(AA_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (17740652674828550922952883029007*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)^2 + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)^2 + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)^2 + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)^2 + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)^2 - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((40033498711953867639042278086737*cos(q4)*sin(q5))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5))/1267650600228229401496703205376)^2 + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)^2 - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376)*(AI_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)^2 + 2*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)^2 - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + w1*(((105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + 2*((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344) - ((2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + 2*((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464) + 2*((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344)*(TS_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 759935621512117/140737488355328) + 14*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)^2 + w2*(2*((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928)*((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232) + ((74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384)) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)^2 - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(GH_m3 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - 759935621512117/140737488355328) - 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328);
+M_matrix(5,6) =2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - w1*(((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) - 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - w2*(((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)) + 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376);
+M_matrix(5,7) =2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(5,8) =2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376) + 2*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752);
+M_matrix(5,9) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376);
+M_matrix(5,10) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(5,11) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(5,12) =((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(5,13) =((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384);
+M_matrix(6,1) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + w1*(((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - ((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)) - w2*(((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - 14*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 14*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752);
+M_matrix(6,2) =2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w1*(((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + 14*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 14*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688);
+M_matrix(6,3) =2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - w1*(((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 14*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 14*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w2*(((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) - ((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808));
+M_matrix(6,4) =2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 14*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - w1*(((7595862958642332117168914520765359706087537673*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)) - 14*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - w2*(((185200134186446248002380635306940378638091708755*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048)) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) + 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + 2*((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((40033498711953867639042278086737*cos(q4)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4))/1267650600228229401496703205376 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((40033498711953867639042278086737*cos(q4)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832);
+M_matrix(6,5) =2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) + 2*((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + 14*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - w1*(((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672) + ((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) + 14*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) - 2*((17740652674828550922952883029007*cos(q6)*sin(q5))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - w2*(((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) + ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + ((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)) + 2*((17740652674828550922952883029007*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376) + 2*((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376);
+M_matrix(6,6) =2*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)^2 - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*(TS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(GH_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - GH_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - 158088964120827/35184372088832) - 2*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*(AA_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + 158088964120827/35184372088832) + 2*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)^2 + 2*((39935593543474862419682065216689*cos(q4)*cos(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q6)*sin(q4))/2535301200456458802993406410752 - (17740652674828550922952883029007*cos(q5)*sin(q6))/2535301200456458802993406410752 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)^2 + w1*(((30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616) + ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) + 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384)) + 2*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)^2 - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)^2 - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 14*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)^2 - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 14*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)^2 - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*(AI_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 158088964120827/35184372088832) - 2*((40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AA_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (40033498711953867639042278086737*sin(q4)*sin(q6))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328) - 2*((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*(TS_m2 - (283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 - (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 158088964120827/35184372088832) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + w2*(((82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) + ((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + 2*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232) - ((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + 2*((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)^2 - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*(AI_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - 2436824916649477/140737488355328);
+M_matrix(6,7) =2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496);
+M_matrix(6,8) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(6,9) =2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(6,10) =2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688);
+M_matrix(6,11) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752);
+M_matrix(6,12) =- ((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384);
+M_matrix(6,13) =- ((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328);
+M_matrix(7,1) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496);
+M_matrix(7,2) =2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008);
+M_matrix(7,3) =2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496);
+M_matrix(7,4) =2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376) - 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752) - 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752);
+M_matrix(7,5) =2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(7,6) =2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496);
+M_matrix(7,7) =2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 - 2*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 - 2*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 + 2*((40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 + 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 + 2*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 + 2*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 + 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 - 2*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688)^2 + 2*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496)^2 + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 - 2*((27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496)^2 + 2*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496)^2 - 2*((40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 - 2*((1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q8))/144115188075855872 - (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)^2 + 2*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008)^2;
+M_matrix(7,8) =2*((9532614729154148320702345*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((89510857239910641160773755*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((6093413378938365*cos(q7)*cos(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7))/1267650600228229401496703205376)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((3609527467424921*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((41250288850455363455596543*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((6093413378938365*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 + (170705600212428242213119969*cos(q7)*cos(q9)*sin(q8))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7)*sin(q8))/10141204801825835211973625643008))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q9)*sin(q8))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q9)*sin(q7)*sin(q8))/324518553658426726783156020576256))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 + (170705600212428242213119969*cos(q7)*cos(q9)*sin(q8))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7)*sin(q8))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q9)*sin(q8))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q9)*sin(q7)*sin(q8))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9)*sin(q8))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((6852956316840352989795844855423003596399919*cos(q7)*cos(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((40246418671275391305260315872667*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*sin(q7))/324518553658426726783156020576256 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*sin(q7))/324518553658426726783156020576256 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/36028797018963968 - (170705600212428242213119969*cos(q7)*cos(q8))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/36028797018963968 - (170705600212428242213119969*cos(q7)*cos(q8))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((89510857239910641160773755*cos(q7)*cos(q8))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7))/1267650600228229401496703205376)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((9532614729154148320702345*cos(q7)*cos(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7))/1267650600228229401496703205376)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*cos(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7))/1267650600228229401496703205376)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((40246411734317796377507657577355*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*sin(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*sin(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376);
+M_matrix(7,9) =2*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968);
+M_matrix(7,10) =2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (326452673081439*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (326452673081439*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (8978885051838141*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (8978885051838141*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688);
+M_matrix(7,11) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) + 2*((28085780940603232829028369953669*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(7,12) =0;
+M_matrix(7,13) =0;
+M_matrix(8,1) =2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376);
+M_matrix(8,2) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) - 2*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688) + 2*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376)*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376);
+M_matrix(8,3) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(8,4) =2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752);
+M_matrix(8,5) =2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752) - 2*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376) + 2*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752);
+M_matrix(8,6) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(8,7) =2*((9532614729154148320702345*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((89510857239910641160773755*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((6093413378938365*cos(q7)*cos(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7))/1267650600228229401496703205376)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((1185746682022675*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*sin(q7)*sin(q8))/1267650600228229401496703205376)*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((3609527467424921*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((41250288850455363455596543*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((6093413378938365*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 + (170705600212428242213119969*cos(q7)*cos(q9)*sin(q8))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7)*sin(q8))/10141204801825835211973625643008))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q9)*sin(q8))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q9)*sin(q7)*sin(q8))/324518553658426726783156020576256))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 + (170705600212428242213119969*cos(q7)*cos(q9)*sin(q8))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7)*sin(q8))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q9)*sin(q8))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q9)*sin(q7)*sin(q8))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9)*sin(q8))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*cos(q9)*sin(q8))/562949953421312 - (8301706980832115*cos(q9)*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9)*sin(q8))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((6852956316840352989795844855423003596399919*cos(q7)*cos(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((40246418671275391305260315872667*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((6093413378938365*cos(q7)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q8))/1267650600228229401496703205376)*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*sin(q7))/324518553658426726783156020576256 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*sin(q7))/324518553658426726783156020576256 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/36028797018963968 - (170705600212428242213119969*cos(q7)*cos(q8))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*sin(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/36028797018963968 - (170705600212428242213119969*cos(q7)*cos(q8))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q8))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*cos(q8))/562949953421312 - (8301706980832115*cos(q8)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((89510857239910641160773755*cos(q7)*cos(q8))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7))/1267650600228229401496703205376)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((9532614729154148320702345*cos(q7)*cos(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7))/1267650600228229401496703205376)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((1185746682022675*cos(q7)*cos(q8))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7))/1267650600228229401496703205376)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((40246411734317796377507657577355*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) + 2*((89510857239910641160773755*cos(q7)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*sin(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*sin(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*sin(q7)*sin(q8)*sin(q9))/144115188075855872 + (8185488866517067*cos(q7)*sin(q8)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*sin(q7)*sin(q8)*sin(q9))/72057594037927936 - (234915297490405*cos(q7)*sin(q8)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((9532614729154148320702345*cos(q7)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376);
+M_matrix(8,8) =2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 - 2*((796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376)*(HU_m3 + (796210009390929692953560932223025*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) - 2*((806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 + 2*((3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)^2 - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 - (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 - (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376)*(CP_m3 + (401593234954267356233230410457941*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)^2 + 2*((806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)^2 + 2*((27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 + 2*((1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*cos(q9)*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 - (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)^2 - 2*((3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)^2 + 2*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 - (326452673081439*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 - (326452673081439*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)^2 - 2*((392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)^2 - 2*((41250288850455363455596543*cos(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504)^2 + 2*((806497388837066167756919688690707*sin(q8))/2535301200456458802993406410752 - (40246411734317796377507657577355*cos(q7)*cos(q8))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*sin(q7))/1267650600228229401496703205376)^2 - 2*((806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EL_m3 + (806497388837066167756919688690707*cos(q8))/2535301200456458802993406410752 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((392961308502019450985923062748121*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7))/1267650600228229401496703205376)^2 + 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)^2 - 2*((392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376)*(EM_m3 + (392961308502019450985923062748121*cos(q8))/1267650600228229401496703205376 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8))/1267650600228229401496703205376 - 759935621512117/140737488355328) + 2*((392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)^2 + 2*((3609527467424921*cos(q7)*cos(q8))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7))/1267650600228229401496703205376)^2 + 2*((27293686072260593211127390643695*cos(q7)*cos(q8))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7))/1267650600228229401496703205376)^2 + 2*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)^2;
+M_matrix(8,9) =2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376);
+M_matrix(8,10) =2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((41250288850455363455596543*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((41250288850455363455596543*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (41250288850455363455596543*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((41250288850455363455596543*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(8,11) =2*((1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) - 2*((28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008);
+M_matrix(8,12) =0;
+M_matrix(8,13) =0;
+M_matrix(9,1) =2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(9,2) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(9,3) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(9,4) =2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376);
+M_matrix(9,5) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376);
+M_matrix(9,6) =2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968);
+M_matrix(9,7) =2*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((6093413378938365*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((40246418671275391305260315872667*cos(q7)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*sin(q7)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((27293686072260593211127390643695*cos(q7)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((27293686072260593211127390643695*cos(q7)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q9))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((1185746682022675*cos(q9)*sin(q7))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((40246411734317796377507657577355*cos(q7)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*sin(q7)*sin(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((3609527467424921*cos(q7)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((3609527467424921*cos(q7)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*sin(q7)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968);
+M_matrix(9,8) =2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) + 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) + 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) - 2*((806497388837066167756919688690707*cos(q8)*sin(q9))/2535301200456458802993406410752 - (1185746682022675*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((401593234954267356233230410457941*cos(q8)*cos(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((796210009390929692953560932223025*cos(q8)*sin(q9))/2535301200456458802993406410752 + (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376) - 2*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((392961308502019450985923062748121*cos(q8)*cos(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6093413378938365*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) - 2*((401593234954267356233230410457941*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((392961308502019450985923062748121*cos(q8)*sin(q9))/1267650600228229401496703205376 + (6093413378938365*sin(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((806497388837066167756919688690707*cos(q8)*cos(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 - (1185746682022675*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376) + 2*((796210009390929692953560932223025*cos(q8)*cos(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q9)*sin(q8))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/1267650600228229401496703205376)*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376);
+M_matrix(9,9) =2*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 + 2*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 - 2*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - CP_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((27293686072260593211127390643695*cos(q9)*sin(q7))/1267650600228229401496703205376 - (9532614729154148320702345*cos(q7)*cos(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*sin(q8)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 + 2*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064)^2 + 2*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 - 2*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 - 2*((1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EL_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*sin(q9))/1267650600228229401496703205376 + (806497388837066167756919688690707*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (1185746682022675*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EL_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (1185746682022675*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q9)*sin(q7))/1267650600228229401496703205376 - (806497388837066167756919688690707*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (1185746682022675*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968)^2 + 2*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 + 2*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)^2 + 2*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064)^2 + 2*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968)^2 - 2*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(HU_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 + (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 - (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(EM_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*sin(q9))/1267650600228229401496703205376 + (392961308502019450985923062748121*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*sin(q7)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (6093413378938365*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - HU_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (89510857239910641160773755*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q9)*sin(q7))/1267650600228229401496703205376 - (796210009390929692953560932223025*sin(q8)*sin(q9))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (3609527467424921*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 + (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - EM_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 - (6093413378938365*cos(q7)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q9)*sin(q7))/1267650600228229401496703205376 - (392961308502019450985923062748121*sin(q8)*sin(q9))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (6093413378938365*cos(q8)*sin(q7)*sin(q9))/1267650600228229401496703205376 - 158088964120827/35184372088832) + 2*((89510857239910641160773755*cos(q7)*sin(q9))/1267650600228229401496703205376 - (796210009390929692953560932223025*cos(q9)*sin(q8))/2535301200456458802993406410752 - (3609527467424921*sin(q7)*sin(q9))/1267650600228229401496703205376 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)^2 + 2*((9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 - (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 - (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376)*(CP_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q7)*sin(q9))/1267650600228229401496703205376 + (401593234954267356233230410457941*cos(q9)*sin(q8))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (27293686072260593211127390643695*sin(q7)*sin(q9))/1267650600228229401496703205376 - (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328);
+M_matrix(9,10) =2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(9,11) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(9,12) =0;
+M_matrix(9,13) =0;
+M_matrix(10,1) =2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) + 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) - 2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(10,2) =2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688);
+M_matrix(10,3) =2*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) + 2*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688);
+M_matrix(10,4) =2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) + 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) - 2*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) - 2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(10,5) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688);
+M_matrix(10,6) =2*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) + 2*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688);
+M_matrix(10,7) =2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (326452673081439*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (326452673081439*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (8978885051838141*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 + (207567151855709*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (8978885051838141*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5070602400912917605986812821504 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496) - 2*((29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)*((1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5070602400912917605986812821504 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/633825300114114700748351602688 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/5708990770823839524233143877797980545530986496 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/633825300114114700748351602688);
+M_matrix(10,8) =2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/45671926166590716193865151022383844364247891968 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496) + 2*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((41250288850455363455596543*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) + 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)*((566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8))/11417981541647679048466287755595961091061972992 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5070602400912917605986812821504) - 2*((186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (2854502802196535*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((41250288850455363455596543*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/633825300114114700748351602688 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5070602400912917605986812821504 + (41250288850455363455596543*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5070602400912917605986812821504)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((41250288850455363455596543*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968) + 2*((1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (8978885051838141*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (2854502802196535*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(10,9) =2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968) - 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968) - 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064) - 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) - 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(10,10) =2*((41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688)^2 + 2*((1296365284804229*cos(q11)*((8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)^2 + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688)^2 - 2*((186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504)*(US_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/45671926166590716193865151022383844364247891968 + (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/11417981541647679048466287755595961091061972992 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5070602400912917605986812821504 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/5708990770823839524233143877797980545530986496 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5070602400912917605986812821504 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/45671926166590716193865151022383844364247891968 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)^2 + 2*((41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688)^2 + 2*((28085780940603232829028369953669*cos(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504)*(US_m3 + (3730591634214090471422877186250093921651460041043*cos(q8))/11417981541647679048466287755595961091061972992 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8))/5708990770823839524233143877797980545530986496 - (6852956316840352989795844855423003596399919*sin(q7)*sin(q8))/45671926166590716193865151022383844364247891968 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/633825300114114700748351602688 - (41250288850455363455596543*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/633825300114114700748351602688 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5070602400912917605986812821504 - 759935621512117/140737488355328) - 2*((41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - US_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/45671926166590716193865151022383844364247891968 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/5708990770823839524233143877797980545530986496 - (3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/11417981541647679048466287755595961091061972992 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5070602400912917605986812821504 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/633825300114114700748351602688 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/633825300114114700748351602688 + (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5070602400912917605986812821504 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/45671926166590716193865151022383844364247891968 - 158088964120827/35184372088832) + 2*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496)^2;
+M_matrix(10,11) =2*((1296365284804229*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(10,12) =0;
+M_matrix(10,13) =0;
+M_matrix(11,1) =2*((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688) - 2*((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688);
+M_matrix(11,2) =2*((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) + 2*((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(11,3) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688);
+M_matrix(11,4) =2*((104389443116974026746126801648953*cos(q4)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*sin(q4)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752) - 2*((11002993669394710902302593226891*cos(q4)*cos(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q5)*sin(q4))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(11,5) =2*((5252703165513642290149874986357*cos(q6)*sin(q5))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688) - 2*((5252703165513642290149874986357*sin(q5)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/2535301200456458802993406410752)*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688) + 2*((5252703165513642290149874986357*cos(q5))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5))/2535301200456458802993406410752)*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688);
+M_matrix(11,6) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752);
+M_matrix(11,7) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/713623846352979940529142984724747568191373312 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/5708990770823839524233143877797980545530986496 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/713623846352979940529142984724747568191373312 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/5708990770823839524233143877797980545530986496) + 2*((28085780940603232829028369953669*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(11,8) =2*((1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/25711008708143844408671393477458601640355247900524685364822016 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064) - 2*((28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) + 2*((1296365284804229*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008);
+M_matrix(11,9) =2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064);
+M_matrix(11,10) =2*((1296365284804229*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) - 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688) - 2*((1296365284804229*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*((29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/633825300114114700748351602688) - 2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*((28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496) - 2*((28085780940603232829028369953669*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832);
+M_matrix(11,11) =2*((28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)^2 - 2*((1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688)*(RS_m3 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q8))/25711008708143844408671393477458601640355247900524685364822016 + (208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 + (5252703165513642290149874986357*sin(q5))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q5))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q5)*sin(q4))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8))/102844034832575377634685573909834406561420991602098741459288064 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/713623846352979940529142984724747568191373312 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/5708990770823839524233143877797980545530986496 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/5708990770823839524233143877797980545530986496 - (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/713623846352979940529142984724747568191373312 + (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/633825300114114700748351602688 - 759935621512117/140737488355328) + 2*((28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - RS_m2 + (11002993669394710902302593226891*cos(q4)*cos(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/102844034832575377634685573909834406561420991602098741459288064 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4))/2535301200456458802993406410752 + (5252703165513642290149874986357*cos(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/12855504354071922204335696738729300820177623950262342682411008 - (8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/25711008708143844408671393477458601640355247900524685364822016 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/713623846352979940529142984724747568191373312 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/5708990770823839524233143877797980545530986496 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/5708990770823839524233143877797980545530986496 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/713623846352979940529142984724747568191373312 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/2535301200456458802993406410752 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 - 158088964120827/35184372088832) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)^2 - 2*((1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688)*(RS_m1 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*cos(q6))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 + (11002993669394710902302593226891*cos(q4)*sin(q6))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/102844034832575377634685573909834406561420991602098741459288064 + (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/25711008708143844408671393477458601640355247900524685364822016 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/713623846352979940529142984724747568191373312 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (104389443116974026746126801648953*sin(q4)*sin(q6))/2535301200456458802993406410752 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/5708990770823839524233143877797980545530986496 + (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/633825300114114700748351602688 + (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/5708990770823839524233143877797980545530986496 + (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/633825300114114700748351602688 + (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/713623846352979940529142984724747568191373312 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/2535301200456458802993406410752 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/102844034832575377634685573909834406561420991602098741459288064 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 - (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/2535301200456458802993406410752 - 2436824916649477/140737488355328) + 2*((1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/633825300114114700748351602688 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/633825300114114700748351602688)^2;
+M_matrix(11,12) =0;
+M_matrix(11,13) =0;
+M_matrix(12,1) =((18728659308305835488569067879231*cos(q1)*cos(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (18728659308305835488569067879231*sin(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (860406579862249161269288642211*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((2167950567725034837341048124003*cos(q1)*cos(q2))/187072209578355573530071658587684226515959365500928 + (47190256944188980732859189758463*cos(q2)*sin(q1))/748288838313422294120286634350736906063837462003712)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((1838727609874499052299690285967*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (1838727609874499052299690285967*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1)*sin(q2))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384);
+M_matrix(12,2) =((1350246501170422896945778075117430141968034439801*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 + (40023988393520090833285845306907*cos(q1)*cos(q2)*cos(q3))/374144419156711147060143317175368453031918731001856 - (1838727609874499052299690285967*cos(q2)*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((631828753646825959856205860340776422474197339333*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*cos(q1)*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q2)*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((1592007240801131306706215288673356925294466319109*cos(q2))/374144419156711147060143317175368453031918731001856 - (47190256944188980732859189758463*cos(q1)*sin(q2))/748288838313422294120286634350736906063837462003712 + (2167950567725034837341048124003*sin(q1)*sin(q2))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(12,3) =((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((860406579862249161269288642211*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 - (631828753646825959856205860340776422474197339333*cos(q2)*cos(q3))/93536104789177786765035829293842113257979682750464 + (18728659308305835488569067879231*sin(q1)*sin(q3))/187072209578355573530071658587684226515959365500928 + (18728659308305835488569067879231*cos(q1)*cos(q3)*sin(q2))/187072209578355573530071658587684226515959365500928 - (860406579862249161269288642211*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((1838727609874499052299690285967*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 + (40023988393520090833285845306907*cos(q3)*sin(q1))/374144419156711147060143317175368453031918731001856 + (1350246501170422896945778075117430141968034439801*cos(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (40023988393520090833285845306907*cos(q1)*sin(q2)*sin(q3))/374144419156711147060143317175368453031918731001856)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328);
+M_matrix(12,4) =((7595862958642332117168914520765359706087537673*cos(q4)*cos(q6))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((2502093669497116831013761477451*cos(q4)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) + ((16232701224942659535818338392223806532635688781*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q4)*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) + ((76369396980591848759960370702252139150734146031*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (19139155602676401504471365406805791178090841929*cos(q5)*sin(q4))/46768052394588893382517914646921056628989841375232)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) + ((9983898385868714741432888685789*cos(q4)*cos(q5))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q5)*sin(q4))/158456325028528675187087900672)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) + ((2502093669497116831013761477451*cos(q4)*cos(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(12,5) =((16232701224942659535818338392223806532635688781*cos(q4)*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (225978597420475488316769414432828911133581513077*cos(q6)*sin(q5))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*cos(q5)*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((266439915265570733340037307034022198046292966993*cos(q5))/93536104789177786765035829293842113257979682750464 + (19139155602676401504471365406805791178090841929*cos(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + (76369396980591848759960370702252139150734146031*sin(q4)*sin(q5))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (34832133617958985456763681386467*sin(q5))/316912650057057350374175801344 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q5))/158456325028528675187087900672 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q5)*sin(q4))/316912650057057350374175801344 - 9293215457965377/140737488355328) - ((7595862958642332117168914520765359706087537673*cos(q4)*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (30309146638507382201304309282608096191517228847*cos(q5)*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) + ((2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q6)*sin(q5))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/316912650057057350374175801344)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384) - ((34832133617958985456763681386467*cos(q5))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5))/316912650057057350374175801344)*((1592007240801131306706215288673356925294466319109*sin(q2))/374144419156711147060143317175368453031918731001856 - (266439915265570733340037307034022198046292966993*sin(q5))/93536104789177786765035829293842113257979682750464 + (47190256944188980732859189758463*cos(q1)*cos(q2))/748288838313422294120286634350736906063837462003712 + (19139155602676401504471365406805791178090841929*cos(q4)*cos(q5))/46768052394588893382517914646921056628989841375232 - (2167950567725034837341048124003*cos(q2)*sin(q1))/187072209578355573530071658587684226515959365500928 + (76369396980591848759960370702252139150734146031*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464 - 71086186287720008611928192453883/41538374868278621028243970633760768) - ((2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*sin(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000);
+M_matrix(12,6) =- ((105743488640979456214387905421051535625199085841*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (30309146638507382201304309282608096191517228847*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (7595862958642332117168914520765359706087537673*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (7595862958642332117168914520765359706087537673*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (30309146638507382201304309282608096191517228847*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + 126048923351186229/21990232555520000) - ((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344)*((860406579862249161269288642211*cos(q1)*cos(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (18728659308305835488569067879231*cos(q3)*sin(q1))/187072209578355573530071658587684226515959365500928 + (631828753646825959856205860340776422474197339333*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (7595862958642332117168914520765359706087537673*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 - (105743488640979456214387905421051535625199085841*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (860406579862249161269288642211*sin(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 - (30309146638507382201304309282608096191517228847*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (18728659308305835488569067879231*cos(q1)*sin(q2)*sin(q3))/187072209578355573530071658587684226515959365500928 - (7595862958642332117168914520765359706087537673*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + 382659673989125708280428808110967/1622592768292133633915780102881280000) - ((64772011349425971503959280850289263001427443659*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 - (16232701224942659535818338392223806532635688781*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 + (225978597420475488316769414432828911133581513077*cos(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (64772011349425971503959280850289263001427443659*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 + (16232701224942659535818338392223806532635688781*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616)*((34832133617958985456763681386467*cos(q5)*cos(q6))/316912650057057350374175801344 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (9983898385868714741432888685789*cos(q4)*sin(q6))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (2502093669497116831013761477451*sin(q4)*sin(q6))/158456325028528675187087900672 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 + 2356736157979501/140737488355328) - ((9983898385868714741432888685789*cos(q4)*cos(q6))/316912650057057350374175801344 - (2502093669497116831013761477451*cos(q6)*sin(q4))/158456325028528675187087900672 + (34832133617958985456763681386467*cos(q5)*sin(q6))/316912650057057350374175801344 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672)*((225978597420475488316769414432828911133581513077*cos(q5)*cos(q6))/46768052394588893382517914646921056628989841375232 - (1350246501170422896945778075117430141968034439801*cos(q2)*cos(q3))/187072209578355573530071658587684226515959365500928 + (1838727609874499052299690285967*cos(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 - (64772011349425971503959280850289263001427443659*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (40023988393520090833285845306907*sin(q1)*sin(q3))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (40023988393520090833285845306907*cos(q1)*cos(q3)*sin(q2))/374144419156711147060143317175368453031918731001856 + (16232701224942659535818338392223806532635688781*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (1838727609874499052299690285967*cos(q3)*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464 + (64772011349425971503959280850289263001427443659*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232 + 15289672958642440533627896742331/20769187434139310514121985316880384);
+M_matrix(12,7) =0;
+M_matrix(12,8) =0;
+M_matrix(12,9) =0;
+M_matrix(12,10) =0;
+M_matrix(12,11) =0;
+M_matrix(12,12) =0;
+M_matrix(12,13) =0;
+M_matrix(13,1) =((6169260839568397*cos(q1)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1))/633825300114114700748351602688 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((315646650030559076521466484699*sin(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (315646650030559076521466484699*cos(q1)*cos(q3)*sin(q2))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1)*sin(q2))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((1376575289504304870237453059535*cos(q1)*cos(q2))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q2)*sin(q1))/374144419156711147060143317175368453031918731001856)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((283419786321657*sin(q1)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q3))/2535301200456458802993406410752 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((283419786321657*cos(q1)*cos(q2))/633825300114114700748351602688 + (6169260839568397*cos(q2)*sin(q1))/2535301200456458802993406410752)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((12717375689514086411452363940923*cos(q1)*cos(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1))/23384026197294446691258957323460528314494920687616 + (12717375689514086411452363940923*sin(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 + (584244368041095722070492073263*cos(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000);
+M_matrix(13,2) =((208125756522145346745089855879871*cos(q2))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2))/2535301200456458802993406410752 + (283419786321657*sin(q1)*sin(q2))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((1010870755553463877121617070980009650356253378105*cos(q2))/187072209578355573530071658587684226515959365500928 - (29964217165199033852897089318235*cos(q1)*sin(q2))/374144419156711147060143317175368453031918731001856 + (1376575289504304870237453059535*sin(q1)*sin(q2))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((231791148684071460418617298570487095850207528397*cos(q3)*sin(q2))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*cos(q1)*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 - (315646650030559076521466484699*cos(q2)*cos(q3)*sin(q1))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((429032505706409839964257817019413129873943548889*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q1)*cos(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q2)*sin(q1)*sin(q3))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((208125756522145346745089855879871*sin(q2)*sin(q3))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*sin(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*sin(q1)*sin(q3))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((208125756522145346745089855879871*cos(q3)*sin(q2))/1267650600228229401496703205376 + (6169260839568397*cos(q1)*cos(q2)*cos(q3))/2535301200456458802993406410752 - (283419786321657*cos(q2)*cos(q3)*sin(q1))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(13,3) =((315646650030559076521466484699*cos(q1)*cos(q3))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q3)*sin(q1))/46768052394588893382517914646921056628989841375232 + (231791148684071460418617298570487095850207528397*cos(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*sin(q1)*sin(q2)*sin(q3))/11692013098647223345629478661730264157247460343808 - (6870750071642683468834940753879*cos(q1)*sin(q2)*sin(q3))/46768052394588893382517914646921056628989841375232)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((584244368041095722070492073263*cos(q1)*sin(q3))/23384026197294446691258957323460528314494920687616 - (429032505706409839964257817019413129873943548889*cos(q2)*cos(q3))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*sin(q1)*sin(q3))/93536104789177786765035829293842113257979682750464 + (12717375689514086411452363940923*cos(q1)*cos(q3)*sin(q2))/93536104789177786765035829293842113257979682750464 - (584244368041095722070492073263*cos(q3)*sin(q1)*sin(q2))/23384026197294446691258957323460528314494920687616)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(13,4) =((185200134186446248002380635306940378638091708755*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) + ((39935593543474854164894647684013*cos(q4)*cos(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q5)*sin(q4))/633825300114114700748351602688)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384) + ((193967936950047662023599781476755441714511856315*cos(q4)*cos(q5))/187072209578355573530071658587684226515959365500928 - (436361807284055410545907565193190505067292783475*cos(q5)*sin(q4))/93536104789177786765035829293842113257979682750464)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) + ((89841486420922928802615777435445*cos(q4)*cos(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((100057108187733286887499560103911400075161041615*cos(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (44476557133077737902386208688757412933367415991*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4)*sin(q5))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) + ((89841486420922928802615777435445*cos(q4)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q6))/1267650600228229401496703205376 + (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048);
+M_matrix(13,5) =((100057108187733286887499560103911400075161041615*cos(q4)*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (82864885114961618293074706503998517991491195653*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q5)*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328) - ((89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*sin(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) + ((89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((361384330249745028686597185930158249279074080145*cos(q5))/93536104789177786765035829293842113257979682750464 + (436361807284055410545907565193190505067292783475*cos(q4)*sin(q5))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*sin(q4)*sin(q5))/187072209578355573530071658587684226515959365500928)*((208125756522145346745089855879871*sin(q2))/1267650600228229401496703205376 - (74404553416224576325673598874279*sin(q5))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q5))/633825300114114700748351602688 - (283419786321657*cos(q2)*sin(q1))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q5)*sin(q4))/1267650600228229401496703205376 - 9293215457965377/140737488355328) - ((185200134186446248002380635306940378638091708755*cos(q4)*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q5)*sin(q4)*sin(q6))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((74404553416224576325673598874279*cos(q5))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5))/1267650600228229401496703205376)*((1010870755553463877121617070980009650356253378105*sin(q2))/187072209578355573530071658587684226515959365500928 - (361384330249745028686597185930158249279074080145*sin(q5))/93536104789177786765035829293842113257979682750464 + (29964217165199033852897089318235*cos(q1)*cos(q2))/374144419156711147060143317175368453031918731001856 + (436361807284055410545907565193190505067292783475*cos(q4)*cos(q5))/93536104789177786765035829293842113257979682750464 - (1376575289504304870237453059535*cos(q2)*sin(q1))/93536104789177786765035829293842113257979682750464 + (193967936950047662023599781476755441714511856315*cos(q5)*sin(q4))/187072209578355573530071658587684226515959365500928 - 45137324127948617335993990728135/20769187434139310514121985316880384);
+M_matrix(13,6) =- ((39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 - (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 + (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688)*((82864885114961618293074706503998517991491195653*cos(q5)*cos(q6))/11692013098647223345629478661730264157247460343808 - (231791148684071460418617298570487095850207528397*cos(q2)*cos(q3))/23384026197294446691258957323460528314494920687616 + (315646650030559076521466484699*cos(q1)*sin(q3))/11692013098647223345629478661730264157247460343808 - (44476557133077737902386208688757412933367415991*cos(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (6870750071642683468834940753879*sin(q1)*sin(q3))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*sin(q4)*sin(q6))/11692013098647223345629478661730264157247460343808 + (6870750071642683468834940753879*cos(q1)*cos(q3)*sin(q2))/46768052394588893382517914646921056628989841375232 + (100057108187733286887499560103911400075161041615*cos(q4)*cos(q6)*sin(q5))/11692013098647223345629478661730264157247460343808 - (315646650030559076521466484699*cos(q3)*sin(q1)*sin(q2))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*cos(q6)*sin(q4)*sin(q5))/23384026197294446691258957323460528314494920687616 + 2624713972608328472970392354807/2596148429267413814265248164610048) - ((153378286866347707181122408329654580869197670961*cos(q5)*cos(q6))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*sin(q6))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*sin(q4)*sin(q6))/23384026197294446691258957323460528314494920687616 + (185200134186446248002380635306940378638091708755*cos(q4)*cos(q6)*sin(q5))/23384026197294446691258957323460528314494920687616 + (82323629958825658370858542440479665378431866267*cos(q6)*sin(q4)*sin(q5))/46768052394588893382517914646921056628989841375232)*((283419786321657*cos(q1)*cos(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6))/1267650600228229401496703205376 + (6169260839568397*cos(q3)*sin(q1))/2535301200456458802993406410752 + (208125756522145346745089855879871*cos(q2)*sin(q3))/1267650600228229401496703205376 + (89841486420922928802615777435445*cos(q6)*sin(q4))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*sin(q6))/633825300114114700748351602688 + (283419786321657*sin(q1)*sin(q2)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*sin(q2)*sin(q3))/2535301200456458802993406410752 - (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + 126048923351186229/21990232555520000) - ((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376)*((584244368041095722070492073263*cos(q1)*cos(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*cos(q4)*cos(q6))/46768052394588893382517914646921056628989841375232 + (12717375689514086411452363940923*cos(q3)*sin(q1))/93536104789177786765035829293842113257979682750464 + (429032505706409839964257817019413129873943548889*cos(q2)*sin(q3))/46768052394588893382517914646921056628989841375232 + (185200134186446248002380635306940378638091708755*cos(q6)*sin(q4))/23384026197294446691258957323460528314494920687616 - (153378286866347707181122408329654580869197670961*cos(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (584244368041095722070492073263*sin(q1)*sin(q2)*sin(q3))/23384026197294446691258957323460528314494920687616 - (82323629958825658370858542440479665378431866267*sin(q4)*sin(q5)*sin(q6))/46768052394588893382517914646921056628989841375232 - (12717375689514086411452363940923*cos(q1)*sin(q2)*sin(q3))/93536104789177786765035829293842113257979682750464 - (185200134186446248002380635306940378638091708755*cos(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + 259838505001183784432635225501011/811296384146066816957890051440640000) - ((44476557133077737902386208688757412933367415991*cos(q4)*cos(q6))/23384026197294446691258957323460528314494920687616 - (100057108187733286887499560103911400075161041615*cos(q6)*sin(q4))/11692013098647223345629478661730264157247460343808 + (82864885114961618293074706503998517991491195653*cos(q5)*sin(q6))/11692013098647223345629478661730264157247460343808 + (44476557133077737902386208688757412933367415991*sin(q4)*sin(q5)*sin(q6))/23384026197294446691258957323460528314494920687616 + (100057108187733286887499560103911400075161041615*cos(q4)*sin(q5)*sin(q6))/11692013098647223345629478661730264157247460343808)*((74404553416224576325673598874279*cos(q5)*cos(q6))/633825300114114700748351602688 - (208125756522145346745089855879871*cos(q2)*cos(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q3))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*sin(q6))/1267650600228229401496703205376 + (6169260839568397*sin(q1)*sin(q3))/2535301200456458802993406410752 + (89841486420922928802615777435445*sin(q4)*sin(q6))/633825300114114700748351602688 + (6169260839568397*cos(q1)*cos(q3)*sin(q2))/2535301200456458802993406410752 + (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (283419786321657*cos(q3)*sin(q1)*sin(q2))/633825300114114700748351602688 + (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 + 2356736157979501/140737488355328);
+M_matrix(13,7) =0;
+M_matrix(13,8) =0;
+M_matrix(13,9) =0;
+M_matrix(13,10) =0;
+M_matrix(13,11) =0;
+M_matrix(13,12) =0;
+M_matrix(13,13) =0;
+N_matrix(1,1) =0;
+N_matrix(1,2) =0;
+N_matrix(1,3) =0;
+N_matrix(1,4) =0;
+N_matrix(1,5) =0;
+N_matrix(1,6) =0;
+N_matrix(1,7) =0;
+N_matrix(1,8) =0;
+N_matrix(1,9) =0;
+N_matrix(1,10) =0;
+N_matrix(1,11) =0;
+N_matrix(1,12) =0;
+N_matrix(1,13) =0;
+N_matrix(1,14) =0;
+N_matrix(1,15) =0;
+N_matrix(1,16) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,17) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,18) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,19) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,20) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,21) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,22) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,23) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,24) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,25) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,26) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,27) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,28) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,29) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,30) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,31) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,32) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,33) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,34) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,35) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,36) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,37) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,38) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,39) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,40) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,41) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,42) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,43) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,44) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,45) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(1,46) =(283419786321657*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*cos(q3)*sin(q2))/316912650057057350374175801344 + (6169260839568397*cos(q3)*sin(q1)*sin(q2))/1267650600228229401496703205376;
+N_matrix(1,47) =(6169260839568397*cos(q1)*cos(q3))/1267650600228229401496703205376 - (283419786321657*cos(q3)*sin(q1))/316912650057057350374175801344 + (6169260839568397*sin(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 + (283419786321657*cos(q1)*sin(q2)*sin(q3))/316912650057057350374175801344;
+N_matrix(1,48) =(283419786321657*cos(q1)*cos(q2))/316912650057057350374175801344 + (6169260839568397*cos(q2)*sin(q1))/1267650600228229401496703205376;
+N_matrix(2,1) =0;
+N_matrix(2,2) =0;
+N_matrix(2,3) =0;
+N_matrix(2,4) =0;
+N_matrix(2,5) =0;
+N_matrix(2,6) =0;
+N_matrix(2,7) =0;
+N_matrix(2,8) =0;
+N_matrix(2,9) =0;
+N_matrix(2,10) =0;
+N_matrix(2,11) =0;
+N_matrix(2,12) =0;
+N_matrix(2,13) =0;
+N_matrix(2,14) =0;
+N_matrix(2,15) =0;
+N_matrix(2,16) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,17) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,18) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,19) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,20) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,21) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,22) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,23) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,24) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,25) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,26) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,27) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,28) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,29) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,30) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,31) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,32) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,33) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,34) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,35) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,36) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,37) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,38) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,39) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,40) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,41) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,42) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,43) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,44) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,45) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(2,46) =(283419786321657*cos(q2)*cos(q3)*sin(q1))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*cos(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q3)*sin(q2))/633825300114114700748351602688;
+N_matrix(2,47) =(283419786321657*cos(q2)*sin(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*cos(q1)*cos(q2)*sin(q3))/1267650600228229401496703205376 - (208125756522145346745089855879871*sin(q2)*sin(q3))/633825300114114700748351602688;
+N_matrix(2,48) =(6169260839568397*cos(q1)*sin(q2))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,1) =0;
+N_matrix(3,2) =0;
+N_matrix(3,3) =0;
+N_matrix(3,4) =0;
+N_matrix(3,5) =0;
+N_matrix(3,6) =0;
+N_matrix(3,7) =0;
+N_matrix(3,8) =0;
+N_matrix(3,9) =0;
+N_matrix(3,10) =0;
+N_matrix(3,11) =0;
+N_matrix(3,12) =0;
+N_matrix(3,13) =0;
+N_matrix(3,14) =0;
+N_matrix(3,15) =0;
+N_matrix(3,16) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,17) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,18) =0;
+N_matrix(3,19) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,20) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,21) =0;
+N_matrix(3,22) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,23) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,24) =0;
+N_matrix(3,25) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,26) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,27) =0;
+N_matrix(3,28) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,29) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,30) =0;
+N_matrix(3,31) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,32) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,33) =0;
+N_matrix(3,34) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,35) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,36) =0;
+N_matrix(3,37) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,38) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,39) =0;
+N_matrix(3,40) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,41) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,42) =0;
+N_matrix(3,43) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,44) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,45) =0;
+N_matrix(3,46) =(6169260839568397*cos(q1)*sin(q2)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q3)*sin(q1))/1267650600228229401496703205376 - (208125756522145346745089855879871*cos(q2)*sin(q3))/633825300114114700748351602688 - (283419786321657*sin(q1)*sin(q2)*sin(q3))/316912650057057350374175801344 - (283419786321657*cos(q1)*cos(q3))/316912650057057350374175801344;
+N_matrix(3,47) =(208125756522145346745089855879871*cos(q2)*cos(q3))/633825300114114700748351602688 - (283419786321657*cos(q1)*sin(q3))/316912650057057350374175801344 - (6169260839568397*sin(q1)*sin(q3))/1267650600228229401496703205376 - (6169260839568397*cos(q1)*cos(q3)*sin(q2))/1267650600228229401496703205376 + (283419786321657*cos(q3)*sin(q1)*sin(q2))/316912650057057350374175801344;
+N_matrix(3,48) =0;
+N_matrix(4,1) =0;
+N_matrix(4,2) =0;
+N_matrix(4,3) =0;
+N_matrix(4,4) =0;
+N_matrix(4,5) =0;
+N_matrix(4,6) =0;
+N_matrix(4,7) =0;
+N_matrix(4,8) =0;
+N_matrix(4,9) =0;
+N_matrix(4,10) =0;
+N_matrix(4,11) =0;
+N_matrix(4,12) =0;
+N_matrix(4,13) =0;
+N_matrix(4,14) =0;
+N_matrix(4,15) =0;
+N_matrix(4,16) =0;
+N_matrix(4,17) =0;
+N_matrix(4,18) =0;
+N_matrix(4,19) =(40033498711953867639042278086737*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376 - (39935593543474862419682065216689*sin(q4)*sin(q6))/633825300114114700748351602688 - (39935593543474862419682065216689*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (40033498711953867639042278086737*cos(q4)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,20) =(40033498711953867639042278086737*cos(q4)*cos(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q6)*sin(q4))/633825300114114700748351602688 + (40033498711953867639042278086737*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (39935593543474862419682065216689*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688;
+N_matrix(4,21) =(40033498711953867639042278086737*cos(q5)*sin(q4))/1267650600228229401496703205376 - (39935593543474862419682065216689*cos(q4)*cos(q5))/633825300114114700748351602688;
+N_matrix(4,22) =(2502093669497116831013761477451*cos(q6)*sin(q4)*sin(q5))/79228162514264337593543950336 - (9983898385868714741432888685789*sin(q4)*sin(q6))/158456325028528675187087900672 - (9983898385868714741432888685789*cos(q4)*cos(q6)*sin(q5))/158456325028528675187087900672 - (2502093669497116831013761477451*cos(q4)*sin(q6))/79228162514264337593543950336;
+N_matrix(4,23) =(2502093669497116831013761477451*cos(q4)*cos(q6))/79228162514264337593543950336 + (9983898385868714741432888685789*cos(q6)*sin(q4))/158456325028528675187087900672 + (2502093669497116831013761477451*sin(q4)*sin(q5)*sin(q6))/79228162514264337593543950336 - (9983898385868714741432888685789*cos(q4)*sin(q5)*sin(q6))/158456325028528675187087900672;
+N_matrix(4,24) =(2502093669497116831013761477451*cos(q5)*sin(q4))/79228162514264337593543950336 - (9983898385868714741432888685789*cos(q4)*cos(q5))/158456325028528675187087900672;
+N_matrix(4,25) =(89841486420922928802615777435445*cos(q6)*sin(q4)*sin(q5))/316912650057057350374175801344 - (39935593543474854164894647684013*sin(q4)*sin(q6))/633825300114114700748351602688 - (39935593543474854164894647684013*cos(q4)*cos(q6)*sin(q5))/633825300114114700748351602688 - (89841486420922928802615777435445*cos(q4)*sin(q6))/316912650057057350374175801344;
+N_matrix(4,26) =(89841486420922928802615777435445*cos(q4)*cos(q6))/316912650057057350374175801344 + (39935593543474854164894647684013*cos(q6)*sin(q4))/633825300114114700748351602688 + (89841486420922928802615777435445*sin(q4)*sin(q5)*sin(q6))/316912650057057350374175801344 - (39935593543474854164894647684013*cos(q4)*sin(q5)*sin(q6))/633825300114114700748351602688;
+N_matrix(4,27) =(89841486420922928802615777435445*cos(q5)*sin(q4))/316912650057057350374175801344 - (39935593543474854164894647684013*cos(q4)*cos(q5))/633825300114114700748351602688;
+N_matrix(4,28) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,29) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,30) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,31) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,32) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,33) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,34) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,35) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,36) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,37) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,38) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,39) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,40) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,41) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,42) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,43) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,44) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,45) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(4,46) =(11002993669394710902302593226891*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(4,47) =(104389443116974026746126801648953*cos(q4)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q6)*sin(q4))/1267650600228229401496703205376 + (104389443116974026746126801648953*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(4,48) =(11002993669394710902302593226891*cos(q4)*cos(q5))/1267650600228229401496703205376 + (104389443116974026746126801648953*cos(q5)*sin(q4))/1267650600228229401496703205376;
+N_matrix(5,1) =0;
+N_matrix(5,2) =0;
+N_matrix(5,3) =0;
+N_matrix(5,4) =0;
+N_matrix(5,5) =0;
+N_matrix(5,6) =0;
+N_matrix(5,7) =0;
+N_matrix(5,8) =0;
+N_matrix(5,9) =0;
+N_matrix(5,10) =0;
+N_matrix(5,11) =0;
+N_matrix(5,12) =0;
+N_matrix(5,13) =0;
+N_matrix(5,14) =0;
+N_matrix(5,15) =0;
+N_matrix(5,16) =0;
+N_matrix(5,17) =0;
+N_matrix(5,18) =0;
+N_matrix(5,19) =- (17740652674828550922952883029007*cos(q6)*sin(q5))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (39935593543474862419682065216689*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688;
+N_matrix(5,20) =- (17740652674828550922952883029007*sin(q5)*sin(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (39935593543474862419682065216689*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688;
+N_matrix(5,21) =(40033498711953867639042278086737*cos(q4)*sin(q5))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5))/1267650600228229401496703205376 + (39935593543474862419682065216689*sin(q4)*sin(q5))/633825300114114700748351602688;
+N_matrix(5,22) =(34832133617958985456763681386467*cos(q6)*sin(q5))/158456325028528675187087900672 - (2502093669497116831013761477451*cos(q4)*cos(q5)*cos(q6))/79228162514264337593543950336 - (9983898385868714741432888685789*cos(q5)*cos(q6)*sin(q4))/158456325028528675187087900672;
+N_matrix(5,23) =(34832133617958985456763681386467*sin(q5)*sin(q6))/158456325028528675187087900672 - (2502093669497116831013761477451*cos(q4)*cos(q5)*sin(q6))/79228162514264337593543950336 - (9983898385868714741432888685789*cos(q5)*sin(q4)*sin(q6))/158456325028528675187087900672;
+N_matrix(5,24) =(34832133617958985456763681386467*cos(q5))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*sin(q5))/79228162514264337593543950336 + (9983898385868714741432888685789*sin(q4)*sin(q5))/158456325028528675187087900672;
+N_matrix(5,25) =(74404553416224576325673598874279*cos(q6)*sin(q5))/316912650057057350374175801344 - (89841486420922928802615777435445*cos(q4)*cos(q5)*cos(q6))/316912650057057350374175801344 - (39935593543474854164894647684013*cos(q5)*cos(q6)*sin(q4))/633825300114114700748351602688;
+N_matrix(5,26) =(74404553416224576325673598874279*sin(q5)*sin(q6))/316912650057057350374175801344 - (89841486420922928802615777435445*cos(q4)*cos(q5)*sin(q6))/316912650057057350374175801344 - (39935593543474854164894647684013*cos(q5)*sin(q4)*sin(q6))/633825300114114700748351602688;
+N_matrix(5,27) =(74404553416224576325673598874279*cos(q5))/316912650057057350374175801344 + (89841486420922928802615777435445*cos(q4)*sin(q5))/316912650057057350374175801344 + (39935593543474854164894647684013*sin(q4)*sin(q5))/633825300114114700748351602688;
+N_matrix(5,28) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,29) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,30) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,31) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,32) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,33) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,34) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,35) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,36) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,37) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,38) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,39) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,40) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,41) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,42) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,43) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,44) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,45) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,46) =(11002993669394710902302593226891*cos(q5)*cos(q6)*sin(q4))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*cos(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q6)*sin(q5))/1267650600228229401496703205376;
+N_matrix(5,47) =(11002993669394710902302593226891*cos(q5)*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q5)*sin(q6))/1267650600228229401496703205376 - (5252703165513642290149874986357*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(5,48) =(104389443116974026746126801648953*cos(q4)*sin(q5))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,1) =0;
+N_matrix(6,2) =0;
+N_matrix(6,3) =0;
+N_matrix(6,4) =0;
+N_matrix(6,5) =0;
+N_matrix(6,6) =0;
+N_matrix(6,7) =0;
+N_matrix(6,8) =0;
+N_matrix(6,9) =0;
+N_matrix(6,10) =0;
+N_matrix(6,11) =0;
+N_matrix(6,12) =0;
+N_matrix(6,13) =0;
+N_matrix(6,14) =0;
+N_matrix(6,15) =0;
+N_matrix(6,16) =0;
+N_matrix(6,17) =0;
+N_matrix(6,18) =0;
+N_matrix(6,19) =(39935593543474862419682065216689*cos(q4)*cos(q6))/633825300114114700748351602688 - (40033498711953867639042278086737*cos(q6)*sin(q4))/1267650600228229401496703205376 - (17740652674828550922952883029007*cos(q5)*sin(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + (40033498711953867639042278086737*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376;
+N_matrix(6,20) =(17740652674828550922952883029007*cos(q5)*cos(q6))/1267650600228229401496703205376 + (39935593543474862419682065216689*cos(q4)*sin(q6))/633825300114114700748351602688 - (40033498711953867639042278086737*sin(q4)*sin(q6))/1267650600228229401496703205376 - (40033498711953867639042278086737*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 - (39935593543474862419682065216689*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688;
+N_matrix(6,21) =0;
+N_matrix(6,22) =(9983898385868714741432888685789*cos(q4)*cos(q6))/158456325028528675187087900672 - (2502093669497116831013761477451*cos(q6)*sin(q4))/79228162514264337593543950336 + (34832133617958985456763681386467*cos(q5)*sin(q6))/158456325028528675187087900672 + (9983898385868714741432888685789*sin(q4)*sin(q5)*sin(q6))/158456325028528675187087900672 + (2502093669497116831013761477451*cos(q4)*sin(q5)*sin(q6))/79228162514264337593543950336;
+N_matrix(6,23) =(9983898385868714741432888685789*cos(q4)*sin(q6))/158456325028528675187087900672 - (34832133617958985456763681386467*cos(q5)*cos(q6))/158456325028528675187087900672 - (2502093669497116831013761477451*sin(q4)*sin(q6))/79228162514264337593543950336 - (2502093669497116831013761477451*cos(q4)*cos(q6)*sin(q5))/79228162514264337593543950336 - (9983898385868714741432888685789*cos(q6)*sin(q4)*sin(q5))/158456325028528675187087900672;
+N_matrix(6,24) =0;
+N_matrix(6,25) =(39935593543474854164894647684013*cos(q4)*cos(q6))/633825300114114700748351602688 - (89841486420922928802615777435445*cos(q6)*sin(q4))/316912650057057350374175801344 + (74404553416224576325673598874279*cos(q5)*sin(q6))/316912650057057350374175801344 + (39935593543474854164894647684013*sin(q4)*sin(q5)*sin(q6))/633825300114114700748351602688 + (89841486420922928802615777435445*cos(q4)*sin(q5)*sin(q6))/316912650057057350374175801344;
+N_matrix(6,26) =(39935593543474854164894647684013*cos(q4)*sin(q6))/633825300114114700748351602688 - (74404553416224576325673598874279*cos(q5)*cos(q6))/316912650057057350374175801344 - (89841486420922928802615777435445*sin(q4)*sin(q6))/316912650057057350374175801344 - (89841486420922928802615777435445*cos(q4)*cos(q6)*sin(q5))/316912650057057350374175801344 - (39935593543474854164894647684013*cos(q6)*sin(q4)*sin(q5))/633825300114114700748351602688;
+N_matrix(6,27) =0;
+N_matrix(6,28) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,29) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,30) =0;
+N_matrix(6,31) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,32) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,33) =0;
+N_matrix(6,34) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,35) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,36) =0;
+N_matrix(6,37) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,38) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,39) =0;
+N_matrix(6,40) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,41) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,42) =0;
+N_matrix(6,43) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,44) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,45) =0;
+N_matrix(6,46) =(104389443116974026746126801648953*cos(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q6)*sin(q4))/1267650600228229401496703205376 - (5252703165513642290149874986357*cos(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*sin(q4)*sin(q5)*sin(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*cos(q6))/1267650600228229401496703205376;
+N_matrix(6,47) =(5252703165513642290149874986357*cos(q5)*cos(q6))/1267650600228229401496703205376 - (11002993669394710902302593226891*cos(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*sin(q4)*sin(q6))/1267650600228229401496703205376 - (104389443116974026746126801648953*cos(q4)*cos(q6)*sin(q5))/1267650600228229401496703205376 + (11002993669394710902302593226891*cos(q6)*sin(q4)*sin(q5))/1267650600228229401496703205376;
+N_matrix(6,48) =0;
+N_matrix(7,1) =0;
+N_matrix(7,2) =0;
+N_matrix(7,3) =0;
+N_matrix(7,4) =0;
+N_matrix(7,5) =0;
+N_matrix(7,6) =0;
+N_matrix(7,7) =0;
+N_matrix(7,8) =0;
+N_matrix(7,9) =0;
+N_matrix(7,10) =0;
+N_matrix(7,11) =0;
+N_matrix(7,12) =0;
+N_matrix(7,13) =0;
+N_matrix(7,14) =0;
+N_matrix(7,15) =0;
+N_matrix(7,16) =0;
+N_matrix(7,17) =0;
+N_matrix(7,18) =0;
+N_matrix(7,19) =0;
+N_matrix(7,20) =0;
+N_matrix(7,21) =0;
+N_matrix(7,22) =0;
+N_matrix(7,23) =0;
+N_matrix(7,24) =0;
+N_matrix(7,25) =0;
+N_matrix(7,26) =0;
+N_matrix(7,27) =0;
+N_matrix(7,28) =0;
+N_matrix(7,29) =0;
+N_matrix(7,30) =0;
+N_matrix(7,31) =(89510857239910641160773755*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 - (89510857239910641160773755*sin(q7)*sin(q9))/633825300114114700748351602688 - (3609527467424921*cos(q7)*sin(q9))/633825300114114700748351602688 - (3609527467424921*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(7,32) =(3609527467424921*cos(q7)*cos(q9))/633825300114114700748351602688 + (89510857239910641160773755*cos(q9)*sin(q7))/633825300114114700748351602688 + (89510857239910641160773755*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (3609527467424921*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(7,33) =(3609527467424921*sin(q7)*sin(q8))/633825300114114700748351602688 - (89510857239910641160773755*cos(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(7,34) =(1185746682022675*sin(q7)*sin(q9))/633825300114114700748351602688 - (40246411734317796377507657577355*cos(q7)*sin(q9))/633825300114114700748351602688 - (1185746682022675*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 - (40246411734317796377507657577355*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(7,35) =(40246411734317796377507657577355*cos(q7)*cos(q9))/633825300114114700748351602688 - (1185746682022675*cos(q9)*sin(q7))/633825300114114700748351602688 - (1185746682022675*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (40246411734317796377507657577355*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(7,36) =(1185746682022675*cos(q7)*sin(q8))/633825300114114700748351602688 + (40246411734317796377507657577355*sin(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(7,37) =(40246418671275391305260315872667*cos(q7)*sin(q9))/633825300114114700748351602688 - (6093413378938365*sin(q7)*sin(q9))/633825300114114700748351602688 + (6093413378938365*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 + (40246418671275391305260315872667*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(7,38) =(6093413378938365*cos(q9)*sin(q7))/633825300114114700748351602688 - (40246418671275391305260315872667*cos(q7)*cos(q9))/633825300114114700748351602688 + (6093413378938365*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 + (40246418671275391305260315872667*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(7,39) =- (6093413378938365*cos(q7)*sin(q8))/633825300114114700748351602688 - (40246418671275391305260315872667*sin(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(7,40) =(1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/2535301200456458802993406410752 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q9))/2854495385411919762116571938898990272765493248 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q9))/22835963083295358096932575511191922182123945984 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/316912650057057350374175801344 - (41250288850455363455596543*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/316912650057057350374175801344 - (1306236986455216784892955368026981*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*cos(q9))/22835963083295358096932575511191922182123945984 - (566412171062908224607278378412534741053080508469*cos(q8)*cos(q9)*sin(q7))/2854495385411919762116571938898990272765493248;
+N_matrix(7,41) =(566412171062908224607278378412534741053080508469*cos(q7)*cos(q9))/2854495385411919762116571938898990272765493248 - (6852956316840352989795844855423003596399919*cos(q9)*sin(q7))/22835963083295358096932575511191922182123945984 - (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/2535301200456458802993406410752 + (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/316912650057057350374175801344 - (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/316912650057057350374175801344 - (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/2535301200456458802993406410752 - (6852956316840352989795844855423003596399919*cos(q7)*cos(q8)*sin(q9))/22835963083295358096932575511191922182123945984 - (566412171062908224607278378412534741053080508469*cos(q8)*sin(q7)*sin(q9))/2854495385411919762116571938898990272765493248;
+N_matrix(7,42) =(1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/2535301200456458802993406410752 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/2535301200456458802993406410752 + (6852956316840352989795844855423003596399919*cos(q7)*sin(q8))/22835963083295358096932575511191922182123945984 - (41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/316912650057057350374175801344 + (566412171062908224607278378412534741053080508469*sin(q7)*sin(q8))/2854495385411919762116571938898990272765493248 + (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/316912650057057350374175801344;
+N_matrix(7,43) =(9532614729154148320702345*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 - (9532614729154148320702345*sin(q7)*sin(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q7)*sin(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(7,44) =(27293686072260593211127390643695*cos(q7)*cos(q9))/633825300114114700748351602688 + (9532614729154148320702345*cos(q9)*sin(q7))/633825300114114700748351602688 + (9532614729154148320702345*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(7,45) =(27293686072260593211127390643695*sin(q7)*sin(q8))/633825300114114700748351602688 - (9532614729154148320702345*cos(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(7,46) =(186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/356811923176489970264571492362373784095686656 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q9))/6427752177035961102167848369364650410088811975131171341205504 + (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q9))/51422017416287688817342786954917203280710495801049370729644032 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/2854495385411919762116571938898990272765493248 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*sin(q9))/10141204801825835211973625643008 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/1125899906842624 - (170705600212428242213119969*sin(q7)*sin(q9))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/36028797018963968 + (2854502802196535*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/36028797018963968 - (326452673081439*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/1125899906842624 + (170705600212428242213119969*cos(q7)*cos(q8)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q8)*cos(q9)*sin(q7))/10141204801825835211973625643008))/316912650057057350374175801344 + (29293200689861096493839487151551411375183*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/2854495385411919762116571938898990272765493248 - (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/316912650057057350374175801344 - (186659172883189562736306339893968766673675146391*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/356811923176489970264571492362373784095686656 - (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*sin(q9))/324518553658426726783156020576256 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q9))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q9))/72057594037927936 + (234915297490405*sin(q7)*sin(q9))/562949953421312 - (234915297490405*cos(q7)*cos(q8)*cos(q9))/562949953421312 + (8301706980832115*cos(q8)*cos(q9)*sin(q7))/72057594037927936))/9007199254740992 - (8978885051838141*cos(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 - (207567151855709*sin(q10)*((7623964137302779*cos(q7)*sin(q9))/144115188075855872 - (8185488866517067*sin(q7)*sin(q9))/9007199254740992 + (8185488866517067*cos(q7)*cos(q8)*cos(q9))/9007199254740992 + (7623964137302779*cos(q8)*cos(q9)*sin(q7))/144115188075855872))/9007199254740992 + (434144296600960407790298547*cos(q7)*cos(q8)*cos(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q8)*cos(q9)*sin(q7))/324518553658426726783156020576256))/316912650057057350374175801344 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*cos(q9))/51422017416287688817342786954917203280710495801049370729644032 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*cos(q9)*sin(q7))/6427752177035961102167848369364650410088811975131171341205504;
+N_matrix(7,47) =(1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9))/6427752177035961102167848369364650410088811975131171341205504 - (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7))/51422017416287688817342786954917203280710495801049370729644032 - (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/356811923176489970264571492362373784095686656 - (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/2854495385411919762116571938898990272765493248 - (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/316912650057057350374175801344 + (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/36028797018963968 - (2854502802196535*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/1125899906842624 - (170705600212428242213119969*cos(q7)*cos(q8)*sin(q9))/81129638414606681695789005144064 - (9594210249026672360025873433723*cos(q8)*sin(q7)*sin(q9))/10141204801825835211973625643008))/316912650057057350374175801344 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/2854495385411919762116571938898990272765493248 + (1296365284804229*cos(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/316912650057057350374175801344 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/356811923176489970264571492362373784095686656 + (28085780940603232829028369953669*sin(q11)*((24400322278953310784738994038049*cos(q7)*cos(q9))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9))/72057594037927936 + (234915297490405*cos(q9)*sin(q7))/562949953421312 + (234915297490405*cos(q7)*cos(q8)*sin(q9))/562949953421312 - (8301706980832115*cos(q8)*sin(q7)*sin(q9))/72057594037927936))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q9)*sin(q7))/9007199254740992 - (7623964137302779*cos(q7)*cos(q9))/144115188075855872 + (8185488866517067*cos(q7)*cos(q8)*sin(q9))/9007199254740992 + (7623964137302779*cos(q8)*sin(q7)*sin(q9))/144115188075855872))/9007199254740992 - (434144296600960407790298547*cos(q7)*cos(q8)*sin(q9))/2596148429267413814265248164610048 - (24400322278953310784738994038049*cos(q8)*sin(q7)*sin(q9))/324518553658426726783156020576256))/316912650057057350374175801344 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q8)*sin(q9))/51422017416287688817342786954917203280710495801049370729644032 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q8)*sin(q7)*sin(q9))/6427752177035961102167848369364650410088811975131171341205504;
+N_matrix(7,48) =(186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/356811923176489970264571492362373784095686656 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/356811923176489970264571492362373784095686656 + (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q8))/51422017416287688817342786954917203280710495801049370729644032 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/2854495385411919762116571938898990272765493248 + (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q8))/6427752177035961102167848369364650410088811975131171341205504 - (1296365284804229*cos(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (434144296600960407790298547*cos(q7)*sin(q8))/2596148429267413814265248164610048 - (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/9007199254740992 - (24400322278953310784738994038049*sin(q7)*sin(q8))/324518553658426726783156020576256 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/9007199254740992))/316912650057057350374175801344 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/1125899906842624 - (170705600212428242213119969*cos(q7)*sin(q8))/81129638414606681695789005144064 + (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q8))/562949953421312 - (8301706980832115*sin(q7)*sin(q8))/72057594037927936))/36028797018963968 - (9594210249026672360025873433723*sin(q7)*sin(q8))/10141204801825835211973625643008 - (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/36028797018963968))/316912650057057350374175801344 - (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q8))/9007199254740992 + (7623964137302779*sin(q7)*sin(q8))/144115188075855872))/2854495385411919762116571938898990272765493248;
+N_matrix(8,1) =0;
+N_matrix(8,2) =0;
+N_matrix(8,3) =0;
+N_matrix(8,4) =0;
+N_matrix(8,5) =0;
+N_matrix(8,6) =0;
+N_matrix(8,7) =0;
+N_matrix(8,8) =0;
+N_matrix(8,9) =0;
+N_matrix(8,10) =0;
+N_matrix(8,11) =0;
+N_matrix(8,12) =0;
+N_matrix(8,13) =0;
+N_matrix(8,14) =0;
+N_matrix(8,15) =0;
+N_matrix(8,16) =0;
+N_matrix(8,17) =0;
+N_matrix(8,18) =0;
+N_matrix(8,19) =0;
+N_matrix(8,20) =0;
+N_matrix(8,21) =0;
+N_matrix(8,22) =0;
+N_matrix(8,23) =0;
+N_matrix(8,24) =0;
+N_matrix(8,25) =0;
+N_matrix(8,26) =0;
+N_matrix(8,27) =0;
+N_matrix(8,28) =0;
+N_matrix(8,29) =0;
+N_matrix(8,30) =0;
+N_matrix(8,31) =- (796210009390929692953560932223025*cos(q8)*cos(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q9)*sin(q8))/633825300114114700748351602688 - (89510857239910641160773755*cos(q9)*sin(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(8,32) =- (796210009390929692953560932223025*cos(q8)*sin(q9))/1267650600228229401496703205376 - (89510857239910641160773755*sin(q7)*sin(q8)*sin(q9))/633825300114114700748351602688 - (3609527467424921*cos(q7)*sin(q8)*sin(q9))/633825300114114700748351602688;
+N_matrix(8,33) =(796210009390929692953560932223025*sin(q8))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8))/633825300114114700748351602688 - (89510857239910641160773755*cos(q8)*sin(q7))/633825300114114700748351602688;
+N_matrix(8,34) =(1185746682022675*cos(q9)*sin(q7)*sin(q8))/633825300114114700748351602688 - (40246411734317796377507657577355*cos(q7)*cos(q9)*sin(q8))/633825300114114700748351602688 - (806497388837066167756919688690707*cos(q8)*cos(q9))/1267650600228229401496703205376;
+N_matrix(8,35) =(1185746682022675*sin(q7)*sin(q8)*sin(q9))/633825300114114700748351602688 - (806497388837066167756919688690707*cos(q8)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*sin(q8)*sin(q9))/633825300114114700748351602688;
+N_matrix(8,36) =(806497388837066167756919688690707*sin(q8))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q7)*cos(q8))/633825300114114700748351602688 + (1185746682022675*cos(q8)*sin(q7))/633825300114114700748351602688;
+N_matrix(8,37) =(40246418671275391305260315872667*cos(q7)*cos(q9)*sin(q8))/633825300114114700748351602688 - (392961308502019450985923062748121*cos(q8)*cos(q9))/633825300114114700748351602688 - (6093413378938365*cos(q9)*sin(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(8,38) =(40246418671275391305260315872667*cos(q7)*sin(q8)*sin(q9))/633825300114114700748351602688 - (6093413378938365*sin(q7)*sin(q8)*sin(q9))/633825300114114700748351602688 - (392961308502019450985923062748121*cos(q8)*sin(q9))/633825300114114700748351602688;
+N_matrix(8,39) =(392961308502019450985923062748121*sin(q8))/633825300114114700748351602688 + (40246418671275391305260315872667*cos(q7)*cos(q8))/633825300114114700748351602688 - (6093413378938365*cos(q8)*sin(q7))/633825300114114700748351602688;
+N_matrix(8,40) =(41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/316912650057057350374175801344 - (3730591634214090471422877186250093921651460041043*cos(q8)*cos(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/2535301200456458802993406410752 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/2535301200456458802993406410752 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/316912650057057350374175801344 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q9)*sin(q8))/2854495385411919762116571938898990272765493248 + (6852956316840352989795844855423003596399919*cos(q9)*sin(q7)*sin(q8))/22835963083295358096932575511191922182123945984;
+N_matrix(8,41) =(41250288850455363455596543*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/316912650057057350374175801344 - (3730591634214090471422877186250093921651460041043*cos(q8)*sin(q9))/5708990770823839524233143877797980545530986496 + (1306236986455216784892955368026981*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/2535301200456458802993406410752 + (1306236986455216784892955368026981*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/2535301200456458802993406410752 - (41250288850455363455596543*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/316912650057057350374175801344 + (6852956316840352989795844855423003596399919*sin(q7)*sin(q8)*sin(q9))/22835963083295358096932575511191922182123945984 - (566412171062908224607278378412534741053080508469*cos(q7)*sin(q8)*sin(q9))/2854495385411919762116571938898990272765493248;
+N_matrix(8,42) =(3730591634214090471422877186250093921651460041043*sin(q8))/5708990770823839524233143877797980545530986496 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8))/2854495385411919762116571938898990272765493248 + (6852956316840352989795844855423003596399919*cos(q8)*sin(q7))/22835963083295358096932575511191922182123945984 + (1306236986455216784892955368026981*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/2535301200456458802993406410752 - (41250288850455363455596543*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/316912650057057350374175801344 - (41250288850455363455596543*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/316912650057057350374175801344 - (1306236986455216784892955368026981*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/2535301200456458802993406410752;
+N_matrix(8,43) =- (401593234954267356233230410457941*cos(q8)*cos(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q7)*cos(q9)*sin(q8))/633825300114114700748351602688 - (9532614729154148320702345*cos(q9)*sin(q7)*sin(q8))/633825300114114700748351602688;
+N_matrix(8,44) =- (401593234954267356233230410457941*cos(q8)*sin(q9))/633825300114114700748351602688 - (9532614729154148320702345*sin(q7)*sin(q8)*sin(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q7)*sin(q8)*sin(q9))/633825300114114700748351602688;
+N_matrix(8,45) =(401593234954267356233230410457941*sin(q8))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q7)*cos(q8))/633825300114114700748351602688 - (9532614729154148320702345*cos(q8)*sin(q7))/633825300114114700748351602688;
+N_matrix(8,46) =(28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/316912650057057350374175801344 - (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*cos(q9))/12855504354071922204335696738729300820177623950262342682411008 - (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/2854495385411919762116571938898990272765493248 - (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*cos(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/36028797018963968 + (9594210249026672360025873433723*cos(q7)*cos(q9)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q9)*sin(q7)*sin(q8))/81129638414606681695789005144064))/316912650057057350374175801344 + (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/356811923176489970264571492362373784095686656 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*cos(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*cos(q9))/1125899906842624 - (7623964137302779*cos(q7)*cos(q9)*sin(q8))/144115188075855872 + (8185488866517067*cos(q9)*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*cos(q7)*cos(q9)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q9)*sin(q7)*sin(q8))/2596148429267413814265248164610048))/316912650057057350374175801344 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q7)*cos(q9)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8)*cos(q9))/1125899906842624 + (234915297490405*cos(q9)*sin(q7)*sin(q8))/562949953421312))/2854495385411919762116571938898990272765493248 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q9)*sin(q8))/6427752177035961102167848369364650410088811975131171341205504 + (17268095173039221639149198981179405064324244530843824795019*cos(q9)*sin(q7)*sin(q8))/51422017416287688817342786954917203280710495801049370729644032;
+N_matrix(8,47) =(186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/356811923176489970264571492362373784095686656 - (8404464188900867113880726939658431029362080777134828138523346879*cos(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/2854495385411919762116571938898990272765493248 - (1296365284804229*sin(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/316912650057057350374175801344 - (1296365284804229*cos(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*cos(q8)*sin(q9))/649037107316853453566312041152512 + (8978885051838141*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/9007199254740992 + (207567151855709*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (8978885051838141*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/9007199254740992 - (434144296600960407790298547*sin(q7)*sin(q8)*sin(q9))/2596148429267413814265248164610048 + (24400322278953310784738994038049*cos(q7)*sin(q8)*sin(q9))/324518553658426726783156020576256))/316912650057057350374175801344 + (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/2854495385411919762116571938898990272765493248 + (28085780940603232829028369953669*cos(q11)*((2452374685457706083560199954813*cos(q8)*sin(q9))/20282409603651670423947251286016 - (2854502802196535*cos(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8)*sin(q9))/1125899906842624 + (8185488866517067*sin(q7)*sin(q8)*sin(q9))/9007199254740992 - (7623964137302779*cos(q7)*sin(q8)*sin(q9))/144115188075855872))/1125899906842624 + (326452673081439*cos(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/1125899906842624 + (2854502802196535*sin(q10)*((234915297490405*sin(q7)*sin(q8)*sin(q9))/562949953421312 - (1014930456489789*cos(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*sin(q8)*sin(q9))/72057594037927936))/36028797018963968 - (170705600212428242213119969*sin(q7)*sin(q8)*sin(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q7)*sin(q8)*sin(q9))/10141204801825835211973625643008))/316912650057057350374175801344 + (17268095173039221639149198981179405064324244530843824795019*sin(q7)*sin(q8)*sin(q9))/51422017416287688817342786954917203280710495801049370729644032 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*sin(q8)*sin(q9))/6427752177035961102167848369364650410088811975131171341205504;
+N_matrix(8,48) =(8404464188900867113880726939658431029362080777134828138523346879*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8))/6427752177035961102167848369364650410088811975131171341205504 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7))/51422017416287688817342786954917203280710495801049370729644032 + (186659172883189562736306339893968766673675146391*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/2854495385411919762116571938898990272765493248 + (28085780940603232829028369953669*cos(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((9594210249026672360025873433723*cos(q7)*cos(q8))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8))/20282409603651670423947251286016 - (170705600212428242213119969*cos(q8)*sin(q7))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/1125899906842624))/316912650057057350374175801344 + (29293200689861096493839487151551411375183*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/2854495385411919762116571938898990272765493248 - (186659172883189562736306339893968766673675146391*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/356811923176489970264571492362373784095686656 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/316912650057057350374175801344 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q7)*cos(q8))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((1014930456489789*sin(q8))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8))/72057594037927936 + (234915297490405*cos(q8)*sin(q7))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*sin(q8))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7))/9007199254740992))/9007199254740992))/316912650057057350374175801344;
+N_matrix(9,1) =0;
+N_matrix(9,2) =0;
+N_matrix(9,3) =0;
+N_matrix(9,4) =0;
+N_matrix(9,5) =0;
+N_matrix(9,6) =0;
+N_matrix(9,7) =0;
+N_matrix(9,8) =0;
+N_matrix(9,9) =0;
+N_matrix(9,10) =0;
+N_matrix(9,11) =0;
+N_matrix(9,12) =0;
+N_matrix(9,13) =0;
+N_matrix(9,14) =0;
+N_matrix(9,15) =0;
+N_matrix(9,16) =0;
+N_matrix(9,17) =0;
+N_matrix(9,18) =0;
+N_matrix(9,19) =0;
+N_matrix(9,20) =0;
+N_matrix(9,21) =0;
+N_matrix(9,22) =0;
+N_matrix(9,23) =0;
+N_matrix(9,24) =0;
+N_matrix(9,25) =0;
+N_matrix(9,26) =0;
+N_matrix(9,27) =0;
+N_matrix(9,28) =0;
+N_matrix(9,29) =0;
+N_matrix(9,30) =0;
+N_matrix(9,31) =(89510857239910641160773755*cos(q7)*cos(q9))/633825300114114700748351602688 - (3609527467424921*cos(q9)*sin(q7))/633825300114114700748351602688 + (796210009390929692953560932223025*sin(q8)*sin(q9))/1267650600228229401496703205376 - (3609527467424921*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (89510857239910641160773755*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(9,32) =(89510857239910641160773755*cos(q7)*sin(q9))/633825300114114700748351602688 - (796210009390929692953560932223025*cos(q9)*sin(q8))/1267650600228229401496703205376 - (3609527467424921*sin(q7)*sin(q9))/633825300114114700748351602688 + (3609527467424921*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 + (89510857239910641160773755*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(9,33) =0;
+N_matrix(9,34) =(806497388837066167756919688690707*sin(q8)*sin(q9))/1267650600228229401496703205376 - (40246411734317796377507657577355*cos(q9)*sin(q7))/633825300114114700748351602688 - (1185746682022675*cos(q7)*cos(q9))/633825300114114700748351602688 - (40246411734317796377507657577355*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 + (1185746682022675*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(9,35) =(40246411734317796377507657577355*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 - (806497388837066167756919688690707*cos(q9)*sin(q8))/1267650600228229401496703205376 - (40246411734317796377507657577355*sin(q7)*sin(q9))/633825300114114700748351602688 - (1185746682022675*cos(q7)*sin(q9))/633825300114114700748351602688 - (1185746682022675*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(9,36) =0;
+N_matrix(9,37) =(6093413378938365*cos(q7)*cos(q9))/633825300114114700748351602688 + (40246418671275391305260315872667*cos(q9)*sin(q7))/633825300114114700748351602688 + (392961308502019450985923062748121*sin(q8)*sin(q9))/633825300114114700748351602688 + (40246418671275391305260315872667*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (6093413378938365*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(9,38) =(6093413378938365*cos(q7)*sin(q9))/633825300114114700748351602688 - (392961308502019450985923062748121*cos(q9)*sin(q8))/633825300114114700748351602688 + (40246418671275391305260315872667*sin(q7)*sin(q9))/633825300114114700748351602688 - (40246418671275391305260315872667*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 + (6093413378938365*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(9,39) =0;
+N_matrix(9,40) =(3730591634214090471422877186250093921651460041043*sin(q8)*sin(q9))/5708990770823839524233143877797980545530986496 - (566412171062908224607278378412534741053080508469*cos(q9)*sin(q7))/2854495385411919762116571938898990272765493248 - (6852956316840352989795844855423003596399919*cos(q7)*cos(q9))/22835963083295358096932575511191922182123945984 + (1306236986455216784892955368026981*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/2535301200456458802993406410752 - (41250288850455363455596543*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/316912650057057350374175801344 - (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/316912650057057350374175801344 - (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/2535301200456458802993406410752 - (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*sin(q9))/2854495385411919762116571938898990272765493248 + (6852956316840352989795844855423003596399919*cos(q8)*sin(q7)*sin(q9))/22835963083295358096932575511191922182123945984;
+N_matrix(9,41) =(41250288850455363455596543*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/316912650057057350374175801344 - (3730591634214090471422877186250093921651460041043*cos(q9)*sin(q8))/5708990770823839524233143877797980545530986496 - (1306236986455216784892955368026981*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/2535301200456458802993406410752 - (566412171062908224607278378412534741053080508469*sin(q7)*sin(q9))/2854495385411919762116571938898990272765493248 - (6852956316840352989795844855423003596399919*cos(q7)*sin(q9))/22835963083295358096932575511191922182123945984 - (41250288850455363455596543*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/316912650057057350374175801344 - (1306236986455216784892955368026981*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/2535301200456458802993406410752 + (566412171062908224607278378412534741053080508469*cos(q7)*cos(q8)*cos(q9))/2854495385411919762116571938898990272765493248 - (6852956316840352989795844855423003596399919*cos(q8)*cos(q9)*sin(q7))/22835963083295358096932575511191922182123945984;
+N_matrix(9,42) =0;
+N_matrix(9,43) =(9532614729154148320702345*cos(q7)*cos(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q9)*sin(q7))/633825300114114700748351602688 + (401593234954267356233230410457941*sin(q8)*sin(q9))/633825300114114700748351602688 - (27293686072260593211127390643695*cos(q7)*cos(q8)*sin(q9))/633825300114114700748351602688 - (9532614729154148320702345*cos(q8)*sin(q7)*sin(q9))/633825300114114700748351602688;
+N_matrix(9,44) =(9532614729154148320702345*cos(q7)*sin(q9))/633825300114114700748351602688 - (401593234954267356233230410457941*cos(q9)*sin(q8))/633825300114114700748351602688 - (27293686072260593211127390643695*sin(q7)*sin(q9))/633825300114114700748351602688 + (27293686072260593211127390643695*cos(q7)*cos(q8)*cos(q9))/633825300114114700748351602688 + (9532614729154148320702345*cos(q8)*cos(q9)*sin(q7))/633825300114114700748351602688;
+N_matrix(9,45) =0;
+N_matrix(9,46) =(8404464188900867113880726939658431029362080777134828138523346879*sin(q8)*sin(q9))/12855504354071922204335696738729300820177623950262342682411008 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q9)*sin(q7))/6427752177035961102167848369364650410088811975131171341205504 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*cos(q9))/51422017416287688817342786954917203280710495801049370729644032 + (186659172883189562736306339893968766673675146391*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/2854495385411919762116571938898990272765493248 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/2854495385411919762116571938898990272765493248 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/356811923176489970264571492362373784095686656 + (28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/316912650057057350374175801344 + (1296365284804229*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/316912650057057350374175801344 + (28085780940603232829028369953669*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/316912650057057350374175801344 - (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*sin(q9))/6427752177035961102167848369364650410088811975131171341205504 + (17268095173039221639149198981179405064324244530843824795019*cos(q8)*sin(q7)*sin(q9))/51422017416287688817342786954917203280710495801049370729644032;
+N_matrix(9,47) =(28085780940603232829028369953669*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/316912650057057350374175801344 - (8404464188900867113880726939658431029362080777134828138523346879*cos(q9)*sin(q8))/12855504354071922204335696738729300820177623950262342682411008 - (186659172883189562736306339893968766673675146391*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/356811923176489970264571492362373784095686656 - (1290780340612831845382680556856381285054606274711043646375477993*sin(q7)*sin(q9))/6427752177035961102167848369364650410088811975131171341205504 - (17268095173039221639149198981179405064324244530843824795019*cos(q7)*sin(q9))/51422017416287688817342786954917203280710495801049370729644032 - (29293200689861096493839487151551411375183*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/2854495385411919762116571938898990272765493248 - (1296365284804229*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/316912650057057350374175801344 - (1296365284804229*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/316912650057057350374175801344 + (29293200689861096493839487151551411375183*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/2854495385411919762116571938898990272765493248 - (28085780940603232829028369953669*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/316912650057057350374175801344 - (186659172883189562736306339893968766673675146391*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/356811923176489970264571492362373784095686656 + (1290780340612831845382680556856381285054606274711043646375477993*cos(q7)*cos(q8)*cos(q9))/6427752177035961102167848369364650410088811975131171341205504 - (17268095173039221639149198981179405064324244530843824795019*cos(q8)*cos(q9)*sin(q7))/51422017416287688817342786954917203280710495801049370729644032;
+N_matrix(9,48) =0;
+N_matrix(10,1) =0;
+N_matrix(10,2) =0;
+N_matrix(10,3) =0;
+N_matrix(10,4) =0;
+N_matrix(10,5) =0;
+N_matrix(10,6) =0;
+N_matrix(10,7) =0;
+N_matrix(10,8) =0;
+N_matrix(10,9) =0;
+N_matrix(10,10) =0;
+N_matrix(10,11) =0;
+N_matrix(10,12) =0;
+N_matrix(10,13) =0;
+N_matrix(10,14) =0;
+N_matrix(10,15) =0;
+N_matrix(10,16) =0;
+N_matrix(10,17) =0;
+N_matrix(10,18) =0;
+N_matrix(10,19) =0;
+N_matrix(10,20) =0;
+N_matrix(10,21) =0;
+N_matrix(10,22) =0;
+N_matrix(10,23) =0;
+N_matrix(10,24) =0;
+N_matrix(10,25) =0;
+N_matrix(10,26) =0;
+N_matrix(10,27) =0;
+N_matrix(10,28) =0;
+N_matrix(10,29) =0;
+N_matrix(10,30) =0;
+N_matrix(10,31) =0;
+N_matrix(10,32) =0;
+N_matrix(10,33) =0;
+N_matrix(10,34) =0;
+N_matrix(10,35) =0;
+N_matrix(10,36) =0;
+N_matrix(10,37) =0;
+N_matrix(10,38) =0;
+N_matrix(10,39) =0;
+N_matrix(10,40) =(41250288850455363455596543*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/316912650057057350374175801344 + (1306236986455216784892955368026981*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/2535301200456458802993406410752 - (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/2535301200456458802993406410752 + (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/316912650057057350374175801344;
+N_matrix(10,41) =(41250288850455363455596543*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/316912650057057350374175801344 + (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/2535301200456458802993406410752 + (1306236986455216784892955368026981*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/2535301200456458802993406410752 - (41250288850455363455596543*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/316912650057057350374175801344;
+N_matrix(10,42) =(1306236986455216784892955368026981*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/2535301200456458802993406410752 - (1306236986455216784892955368026981*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/2535301200456458802993406410752 - (41250288850455363455596543*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/316912650057057350374175801344 - (41250288850455363455596543*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/316912650057057350374175801344;
+N_matrix(10,43) =0;
+N_matrix(10,44) =0;
+N_matrix(10,45) =0;
+N_matrix(10,46) =(186659172883189562736306339893968766673675146391*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/356811923176489970264571492362373784095686656 - (29293200689861096493839487151551411375183*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/2854495385411919762116571938898990272765493248 - (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/356811923176489970264571492362373784095686656 - (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/2854495385411919762116571938898990272765493248 - (28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/316912650057057350374175801344 + (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968))/316912650057057350374175801344 - (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992))/316912650057057350374175801344;
+N_matrix(10,47) =(186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/356811923176489970264571492362373784095686656 - (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/316912650057057350374175801344 - (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/2854495385411919762116571938898990272765493248 - (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (207567151855709*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (8978885051838141*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992))/316912650057057350374175801344 + (186659172883189562736306339893968766673675146391*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/2854495385411919762116571938898990272765493248 + (28085780940603232829028369953669*cos(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((326452673081439*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 - (2854502802196535*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (326452673081439*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968))/316912650057057350374175801344;
+N_matrix(10,48) =(28085780940603232829028369953669*cos(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/316912650057057350374175801344 - (1296365284804229*sin(q11)*((2854502802196535*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (326452673081439*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (326452673081439*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624 + (2854502802196535*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968))/316912650057057350374175801344 + (29293200689861096493839487151551411375183*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/2854495385411919762116571938898990272765493248 - (186659172883189562736306339893968766673675146391*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/356811923176489970264571492362373784095686656 + (1296365284804229*cos(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/316912650057057350374175801344 + (28085780940603232829028369953669*sin(q11)*((8978885051838141*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (207567151855709*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (207567151855709*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (8978885051838141*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/316912650057057350374175801344 + (186659172883189562736306339893968766673675146391*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/356811923176489970264571492362373784095686656 + (29293200689861096493839487151551411375183*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/2854495385411919762116571938898990272765493248;
+N_matrix(11,1) =0;
+N_matrix(11,2) =0;
+N_matrix(11,3) =0;
+N_matrix(11,4) =0;
+N_matrix(11,5) =0;
+N_matrix(11,6) =0;
+N_matrix(11,7) =0;
+N_matrix(11,8) =0;
+N_matrix(11,9) =0;
+N_matrix(11,10) =0;
+N_matrix(11,11) =0;
+N_matrix(11,12) =0;
+N_matrix(11,13) =0;
+N_matrix(11,14) =0;
+N_matrix(11,15) =0;
+N_matrix(11,16) =0;
+N_matrix(11,17) =0;
+N_matrix(11,18) =0;
+N_matrix(11,19) =0;
+N_matrix(11,20) =0;
+N_matrix(11,21) =0;
+N_matrix(11,22) =0;
+N_matrix(11,23) =0;
+N_matrix(11,24) =0;
+N_matrix(11,25) =0;
+N_matrix(11,26) =0;
+N_matrix(11,27) =0;
+N_matrix(11,28) =0;
+N_matrix(11,29) =0;
+N_matrix(11,30) =0;
+N_matrix(11,31) =0;
+N_matrix(11,32) =0;
+N_matrix(11,33) =0;
+N_matrix(11,34) =0;
+N_matrix(11,35) =0;
+N_matrix(11,36) =0;
+N_matrix(11,37) =0;
+N_matrix(11,38) =0;
+N_matrix(11,39) =0;
+N_matrix(11,40) =0;
+N_matrix(11,41) =0;
+N_matrix(11,42) =0;
+N_matrix(11,43) =0;
+N_matrix(11,44) =0;
+N_matrix(11,45) =0;
+N_matrix(11,46) =(1296365284804229*sin(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/316912650057057350374175801344 - (28085780940603232829028369953669*cos(q11)*((434144296600960407790298547*cos(q7)*sin(q9))/2596148429267413814265248164610048 + (6236962826615707313895276571719*cos(q9)*sin(q8))/649037107316853453566312041152512 - (207567151855709*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 + (24400322278953310784738994038049*sin(q7)*sin(q9))/324518553658426726783156020576256 + (8978885051838141*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/9007199254740992 - (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (207567151855709*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*cos(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*cos(q9)*sin(q7))/2596148429267413814265248164610048))/316912650057057350374175801344 - (1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*sin(q9))/81129638414606681695789005144064 + (2452374685457706083560199954813*cos(q9)*sin(q8))/20282409603651670423947251286016 - (326452673081439*cos(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/1125899906842624 + (9594210249026672360025873433723*sin(q7)*sin(q9))/10141204801825835211973625643008 - (2854502802196535*sin(q10)*((234915297490405*cos(q7)*sin(q9))/562949953421312 + (1014930456489789*cos(q9)*sin(q8))/1125899906842624 - (8301706980832115*sin(q7)*sin(q9))/72057594037927936 + (8301706980832115*cos(q7)*cos(q8)*cos(q9))/72057594037927936 + (234915297490405*cos(q8)*cos(q9)*sin(q7))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*sin(q9))/9007199254740992 - (466040067354861*cos(q9)*sin(q8))/1125899906842624 + (7623964137302779*sin(q7)*sin(q9))/144115188075855872 - (7623964137302779*cos(q7)*cos(q8)*cos(q9))/144115188075855872 + (8185488866517067*cos(q8)*cos(q9)*sin(q7))/9007199254740992))/1125899906842624 - (9594210249026672360025873433723*cos(q7)*cos(q8)*cos(q9))/10141204801825835211973625643008 + (170705600212428242213119969*cos(q8)*cos(q9)*sin(q7))/81129638414606681695789005144064))/316912650057057350374175801344;
+N_matrix(11,47) =(1296365284804229*cos(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/316912650057057350374175801344 + (28085780940603232829028369953669*sin(q11)*((170705600212428242213119969*cos(q7)*cos(q9))/81129638414606681695789005144064 + (9594210249026672360025873433723*cos(q9)*sin(q7))/10141204801825835211973625643008 - (2452374685457706083560199954813*sin(q8)*sin(q9))/20282409603651670423947251286016 + (326452673081439*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/36028797018963968 + (2854502802196535*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/36028797018963968 - (326452673081439*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/1125899906842624 + (9594210249026672360025873433723*cos(q7)*cos(q8)*sin(q9))/10141204801825835211973625643008 - (170705600212428242213119969*cos(q8)*sin(q7)*sin(q9))/81129638414606681695789005144064))/316912650057057350374175801344 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/316912650057057350374175801344 + (1296365284804229*sin(q11)*((6236962826615707313895276571719*sin(q8)*sin(q9))/649037107316853453566312041152512 - (24400322278953310784738994038049*cos(q9)*sin(q7))/324518553658426726783156020576256 - (434144296600960407790298547*cos(q7)*cos(q9))/2596148429267413814265248164610048 - (207567151855709*cos(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*sin(q10)*((8301706980832115*cos(q9)*sin(q7))/72057594037927936 - (234915297490405*cos(q7)*cos(q9))/562949953421312 + (1014930456489789*sin(q8)*sin(q9))/1125899906842624 + (8301706980832115*cos(q7)*cos(q8)*sin(q9))/72057594037927936 + (234915297490405*cos(q8)*sin(q7)*sin(q9))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((8185488866517067*cos(q7)*cos(q9))/9007199254740992 + (7623964137302779*cos(q9)*sin(q7))/144115188075855872 + (466040067354861*sin(q8)*sin(q9))/1125899906842624 + (7623964137302779*cos(q7)*cos(q8)*sin(q9))/144115188075855872 - (8185488866517067*cos(q8)*sin(q7)*sin(q9))/9007199254740992))/9007199254740992 - (24400322278953310784738994038049*cos(q7)*cos(q8)*sin(q9))/324518553658426726783156020576256 + (434144296600960407790298547*cos(q8)*sin(q7)*sin(q9))/2596148429267413814265248164610048))/316912650057057350374175801344;
+N_matrix(11,48) =(1296365284804229*sin(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/316912650057057350374175801344 - (28085780940603232829028369953669*cos(q11)*((6236962826615707313895276571719*cos(q8))/649037107316853453566312041152512 + (24400322278953310784738994038049*cos(q7)*sin(q8))/324518553658426726783156020576256 - (434144296600960407790298547*sin(q7)*sin(q8))/2596148429267413814265248164610048 + (207567151855709*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 - (8978885051838141*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/9007199254740992 + (8978885051838141*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992 + (207567151855709*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/9007199254740992))/316912650057057350374175801344 - (1296365284804229*cos(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/316912650057057350374175801344 - (28085780940603232829028369953669*sin(q11)*((2452374685457706083560199954813*cos(q8))/20282409603651670423947251286016 + (9594210249026672360025873433723*cos(q7)*sin(q8))/10141204801825835211973625643008 - (170705600212428242213119969*sin(q7)*sin(q8))/81129638414606681695789005144064 + (326452673081439*cos(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/1125899906842624 + (2854502802196535*sin(q10)*((8301706980832115*cos(q7)*sin(q8))/72057594037927936 - (1014930456489789*cos(q8))/1125899906842624 + (234915297490405*sin(q7)*sin(q8))/562949953421312))/36028797018963968 - (2854502802196535*cos(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/36028797018963968 + (326452673081439*sin(q10)*((466040067354861*cos(q8))/1125899906842624 - (7623964137302779*cos(q7)*sin(q8))/144115188075855872 + (8185488866517067*sin(q7)*sin(q8))/9007199254740992))/1125899906842624))/316912650057057350374175801344;
+N_matrix(12,1) =0;
+N_matrix(12,2) =0;
+N_matrix(12,3) =0;
+N_matrix(12,4) =0;
+N_matrix(12,5) =0;
+N_matrix(12,6) =0;
+N_matrix(12,7) =0;
+N_matrix(12,8) =0;
+N_matrix(12,9) =0;
+N_matrix(12,10) =0;
+N_matrix(12,11) =0;
+N_matrix(12,12) =0;
+N_matrix(12,13) =0;
+N_matrix(12,14) =0;
+N_matrix(12,15) =0;
+N_matrix(12,16) =0;
+N_matrix(12,17) =0;
+N_matrix(12,18) =0;
+N_matrix(12,19) =0;
+N_matrix(12,20) =0;
+N_matrix(12,21) =0;
+N_matrix(12,22) =0;
+N_matrix(12,23) =0;
+N_matrix(12,24) =0;
+N_matrix(12,25) =0;
+N_matrix(12,26) =0;
+N_matrix(12,27) =0;
+N_matrix(12,28) =0;
+N_matrix(12,29) =0;
+N_matrix(12,30) =0;
+N_matrix(12,31) =0;
+N_matrix(12,32) =0;
+N_matrix(12,33) =0;
+N_matrix(12,34) =0;
+N_matrix(12,35) =0;
+N_matrix(12,36) =0;
+N_matrix(12,37) =0;
+N_matrix(12,38) =0;
+N_matrix(12,39) =0;
+N_matrix(12,40) =0;
+N_matrix(12,41) =0;
+N_matrix(12,42) =0;
+N_matrix(12,43) =0;
+N_matrix(12,44) =0;
+N_matrix(12,45) =0;
+N_matrix(12,46) =0;
+N_matrix(12,47) =0;
+N_matrix(12,48) =0;
+N_matrix(13,1) =0;
+N_matrix(13,2) =0;
+N_matrix(13,3) =0;
+N_matrix(13,4) =0;
+N_matrix(13,5) =0;
+N_matrix(13,6) =0;
+N_matrix(13,7) =0;
+N_matrix(13,8) =0;
+N_matrix(13,9) =0;
+N_matrix(13,10) =0;
+N_matrix(13,11) =0;
+N_matrix(13,12) =0;
+N_matrix(13,13) =0;
+N_matrix(13,14) =0;
+N_matrix(13,15) =0;
+N_matrix(13,16) =0;
+N_matrix(13,17) =0;
+N_matrix(13,18) =0;
+N_matrix(13,19) =0;
+N_matrix(13,20) =0;
+N_matrix(13,21) =0;
+N_matrix(13,22) =0;
+N_matrix(13,23) =0;
+N_matrix(13,24) =0;
+N_matrix(13,25) =0;
+N_matrix(13,26) =0;
+N_matrix(13,27) =0;
+N_matrix(13,28) =0;
+N_matrix(13,29) =0;
+N_matrix(13,30) =0;
+N_matrix(13,31) =0;
+N_matrix(13,32) =0;
+N_matrix(13,33) =0;
+N_matrix(13,34) =0;
+N_matrix(13,35) =0;
+N_matrix(13,36) =0;
+N_matrix(13,37) =0;
+N_matrix(13,38) =0;
+N_matrix(13,39) =0;
+N_matrix(13,40) =0;
+N_matrix(13,41) =0;
+N_matrix(13,42) =0;
+N_matrix(13,43) =0;
+N_matrix(13,44) =0;
+N_matrix(13,45) =0;
+N_matrix(13,46) =0;
+N_matrix(13,47) =0;
+N_matrix(13,48) =0;
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_main_file.m
new file mode 100755
index 0000000..1c41cf0
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_main_file.m
@@ -0,0 +1,877 @@
+%{
+--------------------------------------------------------------------------
+ GUI FOR RUNNING THE KINEMATICS TOOL
+--------------------------------------------------------------------------
+
+File Description :
+This file is the main file for the kinematics toolbox GUI. In the GUI you
+can build a motion and visualise it. There are 9 minimal coordinates,
+you can build each one seperatly by defining the inital and final values,
+setting the order of the polynomials with which they are built. You can
+also impose the initial and final values of the higher order polynomials.
+
+--------------------------------------------------------------------------
+
+File Structure :
+The GUI figure is created in KHandle. The pushbuttons are defined next,
+followed by the initialisation script. All the GUI control structures are
+contained in KGUIHandle. The main 3-D axis is called
+KinemVisualisationAxes. There are 9+2 other axis for viewing the angle
+evolutions. All the graphics are contained in a single strucure :
+KPlotHandles.
+
+--------------------------------------------------------------------------
+
+Contents of the Interactive GUI structure :
+ PushButton Section
+ KGUIHandle.Close_Button
+ KGUIHandle.Save_Visualisation_Button
+ KGUIHandle.Build_Kinematics_Button
+
+ Static Elements
+ KGUIHandle.MinCord.Title
+ KGUIHandle.MinCord.X0Title
+ KGUIHandle.MinCord.XTTitle
+
+ Dynamic Elements
+ KGUIHandle.MinCord.M1Text
+ KGUIHandle.MinCord.M1ValueI
+ KGUIHandle.MinCord.M1ValueT
+ KGUIHandle.MinCord.M2Text
+ KGUIHandle.MinCord.M2ValueI
+ KGUIHandle.MinCord.M2ValueT
+ KGUIHandle.MinCord.M3Text
+ KGUIHandle.MinCord.M3ValueI
+ KGUIHandle.MinCord.M3ValueT
+ KGUIHandle.MinCord.M4Text
+ KGUIHandle.MinCord.M4ValueI
+ KGUIHandle.MinCord.M4ValueT
+ KGUIHandle.MinCord.M5Text
+ KGUIHandle.MinCord.M5ValueI
+ KGUIHandle.MinCord.M5ValueT
+ KGUIHandle.MinCord.M6Text
+ KGUIHandle.MinCord.M6ValueI
+ KGUIHandle.MinCord.M6ValueT
+ KGUIHandle.MinCord.M7Text
+ KGUIHandle.MinCord.M7ValueI
+ KGUIHandle.MinCord.M7ValueT
+
+--------------------------------------------------------------------------
+
+The graphical hierarchy is :
+ KHandle
+ -> KinemVisualisationAxes
+ -> KPlotHandles
+ -> JEAVisualisationAxes(1 - > 9)
+ -> JEAPlotHandles(1 -> 9)
+
+--------------------------------------------------------------------------
+%}
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+KHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.9],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model: KINEMATICS TOOLBOX');
+
+%--------------------------------------------------------------------------
+% REBUILD THE MOTION (IF INITIAL CONFIGURATION HAS CHANGED)
+% just a duplication of the whole MAIN_INITIALISATION_build_data_kinematics.
+%--------------------------------------------------------------------------
+KEDATA = KINEMATICS_TOOL_get_initial_values(REDATA, BLDATA);
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE THE BUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Push Button for Closing the GUI
+KGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CLOSE TOOL ---------------------------------------</b><br><p style="font-size: 90%;"> <i>Closes the tool and deletes all the local variables</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Close Kinematics Tool'));
+
+% Push Button to Build Motion (kinematics) Using the Initial and Final
+% Values of the Minimal Coordinates (Method 1)
+KGUIHandle.Build_Kinematics_Button_1 = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.9, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- BUILD MOTION (Option 1)----------------------</b><br><p style="font-size: 90%;"> <i>Builds the joint kinematics without measured data</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Build Kinematics'));
+
+% Push Button to Build Motion (kinematics) Using the Measured Kinematics (Method 2)
+KGUIHandle.Build_Kinematics_Button_2 = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.85, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- BUILD MOTION (Option 2)----------------------</b><br><p style="font-size: 90%;"> <i>Reconstruct a measured motion</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Build Kinematics 2'));
+
+% Push Button to View the Motion
+KGUIHandle.Build_Kinematics_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.80, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- VIEW MOTION -------------------------------------</b><br><p style="font-size: 90%;"> <i>Launches a small GUI where the motion is visualised</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('View Motion'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INTERACTIVE ELLEMENTS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+KGUIHandle.MinCord.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0, 0.98, 0.35, 0.02],...
+ 'style', 'text',...
+ 'string', 'Minimal Coordinates Initial and Final Conditions',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.X0Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.96, 0.125, 0.02],...
+ 'style', 'text',...
+ 'string', 'Initial Values',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.XTTitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.96, 0.125, 0.02],...
+ 'style', 'text',...
+ 'string', 'Final Values',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.DCTitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.4, 0.98, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Derivative Conditions (dX(t_0), dX(t_f), etc)',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+%------------------------------------------
+% First Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M1Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.91, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M1',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M1ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.93, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', num2str(KEDATA.Initial_Minimal_Coordinate(1,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M1ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.93, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', num2str(KEDATA.Final_Minimal_Coordinate(1,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M1DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.93, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Second Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M2Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.88, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M2',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M2ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.90, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', num2str(KEDATA.Initial_Minimal_Coordinate(2,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M2ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.90, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '-30',... %num2str(KEDATA.Final_Minimal_Coordinate(2,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M2DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.90, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Third Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M3Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.85, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M3',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M3ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.87, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', num2str(KEDATA.Initial_Minimal_Coordinate(3,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M3ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.87, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '91',... %num2str(KEDATA.Final_Minimal_Coordinate(3,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M3DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.87, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Fourth Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M4Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.82, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M4',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M4ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.84, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', num2str(KEDATA.Initial_Minimal_Coordinate(4,1)),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M4ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.84, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0.58914',... %num2str(KEDATA.Final_Minimal_Coordinate(4,1)),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M4DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.84, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Fifth Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M5Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.79, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M5',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M5ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.81, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',...%num2str(KEDATA.Initial_Minimal_Coordinate(5,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M5ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.81, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',...%num2str(KEDATA.Final_Minimal_Coordinate(5,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M5DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.81, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Sixth Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M6Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.76, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M6',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M6ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.78, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '-1',... %num2str(KEDATA.Initial_Minimal_Coordinate(6,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M6ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.78, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '-140',... %num2str(KEDATA.Final_Minimal_Coordinate(6,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M6DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.78, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Seventh Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M7Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.73, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M7',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M7ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.75, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '30',... %num2str(KEDATA.Initial_Minimal_Coordinate(7,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M7ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.75, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '30',... %num2str(KEDATA.Final_Minimal_Coordinate(7,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M7DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.75, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Eighth Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M8Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.70, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M8',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M8ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.72, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',... %num2str(KEDATA.Initial_Minimal_Coordinate(8,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M8ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.72, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',... %num2str(KEDATA.Final_Minimal_Coordinate(8,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M8DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.72, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+%------------------------------------------
+% Ninth Coordinate
+%------------------------------------------
+KGUIHandle.MinCord.M9Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.67, 0.05, 0.04],...
+ 'style', 'text',...
+ 'string', 'M9',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+KGUIHandle.MinCord.M9ValueI = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.69, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',... %num2str(KEDATA.Initial_Minimal_Coordinate(9,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M9ValueT = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.225, 0.69, 0.125, 0.03],...
+ 'style', 'edit',...
+ 'string', '0',... %num2str(KEDATA.Final_Minimal_Coordinate(9,1)*180/pi),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+KGUIHandle.MinCord.M9DerivCondEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.45, 0.69, 0.25, 0.03],...
+ 'style', 'edit',...
+ 'string', '[0, 0, 0, 0, 0, 0, 0, 0]',...
+ 'value', 2,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_script_generator('Update UIcontrols'));
+
+% Legend for all values
+KGUIHandle.MinCord.Legend(1,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.78, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M1 : Clavicula Axial Rotation [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+KGUIHandle.MinCord.Legend(2,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.76, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M2 : AI parametric coordinate 1 [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+KGUIHandle.MinCord.Legend(3,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.74, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M3 : AI parametric coordinate 2 [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+KGUIHandle.MinCord.Legend(4,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.72, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M4 : TS intersection coordinate [%]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+% Legend for all values
+KGUIHandle.MinCord.Legend(5,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.70, 0.30, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M5 : Humerus Axial Rotation [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+% Legend for all values
+KGUIHandle.MinCord.Legend(6,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.68, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M6 : Humerus abduction angle [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+% Legend for all values
+KGUIHandle.MinCord.Legend(7,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.66, 0.3, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M7 : Humerus Elevation Plane [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+% Legend for all values
+KGUIHandle.MinCord.Legend(8,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.64, 0.30, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M8 : Ulna Flexion/Extension [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+KGUIHandle.MinCord.Legend(9,1) = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.62, 0.30, 0.02],...
+ 'style', 'text',...
+ 'HorizontalAlignment','left',...
+ 'string', ['M9 : Radius Prnation/Supination [DEG]'],...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+
+% Legend for all values
+KGUIHandle.MinCord.NbPointsTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.65, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'Number Of Points:',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'backgroundcolor', 'white');
+
+% Legend for all values
+KGUIHandle.MinCord.NbPointsEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.65, 0.1, 0.02],...
+ 'style', 'edit',...
+ 'string', '100',...%num2str(KEDATA.NbPoints),...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE THE MENU
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+KGUIHandle.Polynomial_Order_Menu.MainList = uimenu(...
+ KHandle,...
+ 'label', 'Set Polynimal Order');
+
+% Interactive part of menu
+KGUIHandle.Polynomial_Order_Menu.Options = zeros(10,5);
+
+KNAMES = {...
+ 'Coordinate 1',...
+ 'Coordinate 2',...
+ 'Coordinate 3',...
+ 'Coordinate 4',...
+ 'Coordinate 5',...
+ 'Coordinate 6',...
+ 'Coordinate 7',...
+ 'Coordinate 8',...
+ 'Coordinate 9',...
+ 'All Coordinates'};
+
+% Create the Entire List
+for i = 1:10
+ KGUIHandle.Polynomial_Order_Menu.Options(i,1) = uimenu(KGUIHandle.Polynomial_Order_Menu.MainList,...
+ 'label', KNAMES{1,i});
+ for j = 1:4
+ if j == 2
+ % Different callback for all coordinates
+ if i == 10
+ KGUIHandle.Polynomial_Order_Menu.Options(i,j+1) = uimenu(KGUIHandle.Polynomial_Order_Menu.Options(i,1),...
+ 'label', ['Order ', num2str(2*j+1)],...
+ 'UserData', i,...
+ 'Checked', 'on',...
+ 'Callback', KINEMATICS_TOOL_script_generator('Menu Functions II', i, j));
+ else
+ KGUIHandle.Polynomial_Order_Menu.Options(i,j+1) = uimenu(KGUIHandle.Polynomial_Order_Menu.Options(i,1),...
+ 'label', ['Order ', num2str(2*j+1)],...
+ 'UserData', i,...
+ 'Checked', 'on',...
+ 'Callback', KINEMATICS_TOOL_script_generator('Menu Functions I', i, j));
+ end
+ else
+ % Different callback for all coordinates
+ if i == 10
+ KGUIHandle.Polynomial_Order_Menu.Options(i,j+1) = uimenu(KGUIHandle.Polynomial_Order_Menu.Options(i,1),...
+ 'label', ['Order ', num2str(2*j+1)],...
+ 'UserData', i,...
+ 'Checked', 'off',...
+ 'Callback', KINEMATICS_TOOL_script_generator('Menu Functions II', i, j));
+ else
+ KGUIHandle.Polynomial_Order_Menu.Options(i,j+1) = uimenu(KGUIHandle.Polynomial_Order_Menu.Options(i,1),...
+ 'label', ['Order ', num2str(2*j+1)],...
+ 'UserData', i,...
+ 'Checked', 'off',...
+ 'Callback', KINEMATICS_TOOL_script_generator('Menu Functions I', i, j));
+ end
+ end
+ end
+end
+
+% Create a Help Menu
+KGUIHandle.HelpMenu(1,1) = uimenu(KHandle,...
+ 'label', 'GUI HELP');
+KGUIHandle.HelpMenu(2,1) = uimenu(KGUIHandle.HelpMenu(1,1),...
+ 'label', 'About?',...
+ 'callback', KINEMATICS_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+% CREATE VISUALISATION AXES
+%--------------------------------------------------------------------------
+% Central Axis
+KIVisualisationAxis.Central = axes(...
+ 'units', 'normalized',...
+ 'position', [0.25, 0, 0.5, 0.49],...
+ 'xtick', [],...
+ 'ytick', []);
+
+% Clavicula Axial Rotation
+KIVisualisationAxis.Coord(1,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.50, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Clavicula Depression (-) / Elevation (+)
+KIVisualisationAxis.Coord(2,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.79, 0.38, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Clavicula Retraction (-) / Protraction (+)
+KIVisualisationAxis.Coord(3,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.79, 0.50, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Ulna Extension (-) / Flexion (+)
+KIVisualisationAxis.Coord(10,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.79, 0.25, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Radius Supination (-) / Pronation (+)
+KIVisualisationAxis.Coord(11,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.79, 0.12, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Scapula External Tilt(-)/ Internal Tilt (+)
+KIVisualisationAxis.Coord(4,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.01, 0.38, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Scapula Depression (-) / Elevation (+)
+KIVisualisationAxis.Coord(5,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.01, 0.50, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Scapula Retraction (-) / Protraction (+)
+KIVisualisationAxis.Coord(6,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.25, 0.50, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Humerus Axial Rotation
+KIVisualisationAxis.Coord(7,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.01, 0.26, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Humerus Adduction (-) / Abduction (+)
+KIVisualisationAxis.Coord(8,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.01, 0.01, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+% Humerus Elevation Plan: Posterior (-) / Anterior (+)
+KIVisualisationAxis.Coord(9,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.01, 0.13, 0.2, 0.1],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION CODE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Set the current axes
+set(KHandle, 'currentaxes', KIVisualisationAxis.Central);
+
+% Get the current file path
+Cpath = pwd;
+
+% Differentiate for non unix systems
+if isunix
+ Cpath = [Cpath, '/LOGOS/JointsFigure.png'];
+else
+ Cpath = [Cpath, '\LOGOS\JointsFigure.png'];
+end
+
+% Load the image of the joints
+Image = imread(Cpath);
+image(Image)
+set(gca, 'xtick', [], 'ytick', []);
+
+% Fill the axes around the main axis with the evolution of each angle
+% relative to the abducion angle.
+MvtList = {...
+ 'Clavicula Axial Rotation',...
+ 'Clavicula Depression (-) / Elevation (+)',...
+ 'Clavicula Retraction (-) / Protraction (+)',...
+ 'Scapula External Tilt(-)/ Internal Tilt (+)',...
+ 'Scapula Depression (-) / Elevation (+)',...
+ 'Scapula Retraction (-) / Protraction (+)',...
+ 'Humerus Axial Rotation',...
+ 'Humerus Adduction (-) / Abduction (+)',...
+ 'Humerus Elevation: Posterior (-) / Anterior (+)',...%plan
+ 'Ulna Extension (-) / Flexion (+)',...
+ 'Radius Supination (-) / Pronation (+)'};
+
+for AngleId = 1:11
+ set(KHandle, 'currentaxes', KIVisualisationAxis.Coord(AngleId,1));
+ plot(KEDATA.Joint_Angle_Evolution(8,:)'*180/pi, KEDATA.Joint_Angle_Evolution(AngleId,:)'*180/pi, 'color', 'red', 'linewidth', 2);
+ set(gca,...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'XDir', 'reverse',...
+ 'box', 'on',...
+ 'buttondownfcn', KINEMATICS_TOOL_script_generator('Clicked On', AngleId));
+ title(MvtList{1,AngleId},...
+ 'fontsize', 9, ...
+ 'fontweight', 'bold', ...
+ 'fontname', 'sansserif');
+ xlim([min(KEDATA.Joint_Angle_Evolution(8,:)'*180/pi), max(KEDATA.Joint_Angle_Evolution(8,:)'*180/pi)]);
+end
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_menu_functions.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_menu_functions.m
new file mode 100755
index 0000000..12c68b4
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_menu_functions.m
@@ -0,0 +1,83 @@
+function OutHandle = KINEMATICS_TOOL_menu_functions(task, InHandle, CoordId, varargin)
+% UICONTROL Callback handles all the kinematics tool menu functions
+%--------------------------------------------------------------------------
+% Syntax :
+% OutHandle = KINEMATICS_TOOL_menu_functions(task, InHandle, Coord, varargin)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function handles all the kinematics tool menu tasks.
+%
+% List of Single Muscle Tasks:
+% Change Polynomial Order
+% Change All Polynomial Orders
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+OutHandle = InHandle;
+
+%--------------------------------------------------------------------------
+% CHANFE THE POLYNOMIAL ORDER OF A SINGLE COORDINATE
+%--------------------------------------------------------------------------
+if isequal(task, 'Change Order')
+ OrderId = varargin{1,1};
+
+ % Run through all the orders
+ for j = 1:4
+ if j == OrderId
+ % Get the current state
+ state = get(OutHandle.Polynomial_Order_Menu.Options(CoordId, j+1), 'Checked');
+
+ % Change the state to opposite state
+ if isequal(state, 'on')
+ set(OutHandle.Polynomial_Order_Menu.Options(CoordId, j+1), 'Checked', 'off');
+ elseif j == OrderId
+ set(OutHandle.Polynomial_Order_Menu.Options(CoordId, j+1), 'Checked', 'on');
+ end
+ else
+ set(OutHandle.Polynomial_Order_Menu.Options(CoordId, j+1), 'Checked', 'off');
+ end
+ end
+%--------------------------------------------------------------------------
+% CHANFE THE POLYNOMIAL ORDER OF ALL COORDINATES
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change All Order')
+ OrderId = varargin{1,1};
+ for i = 1:9
+ for j = 1:4
+ if j == OrderId
+ % Get the current state
+ state = get(InHandle.Polynomial_Order_Menu.Options(i, j+1), 'Checked');
+
+ % Change the state to opposite state
+ if isequal(state, 'on')
+ set(OutHandle.Polynomial_Order_Menu.Options(i, j+1), 'Checked', 'off');
+ else
+ set(OutHandle.Polynomial_Order_Menu.Options(i, j+1), 'Checked', 'on');
+ end
+ else
+ set(OutHandle.Polynomial_Order_Menu.Options(i, j+1), 'Checked', 'off');
+ end
+ end
+ end
+
+ for j = 1:4
+ if j == OrderId
+ % Get the current state
+ state = get(InHandle.Polynomial_Order_Menu.Options(10, j+1), 'Checked');
+
+ % Change the state to opposite state
+ if isequal(state, 'on')
+ set(OutHandle.Polynomial_Order_Menu.Options(10, j+1), 'Checked', 'off');
+ else
+ set(OutHandle.Polynomial_Order_Menu.Options(10, j+1), 'Checked', 'on');
+ end
+ else
+ set(OutHandle.Polynomial_Order_Menu.Options(10, j+1), 'Checked', 'off');
+ end
+ end
+else
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_nonlinear_constraints.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_nonlinear_constraints.m
new file mode 100755
index 0000000..70611f5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_nonlinear_constraints.m
@@ -0,0 +1,156 @@
+function [c, scapulothoracic_constraints] = KINEMATICS_TOOL_nonlinear_constraints(q, BLDATA, REDATA)
+%{
+Function for building the IK nonlinear constraints associated with the
+scapulothoracic joint.
+--------------------------------------------------------------------------
+Syntax
+[c, scapulothoracic_constraints] = KINEMATICS_TOOL_nonlinear_constraints(p, BLDATA, REDATA, SSDATA, KRGUIHandle)
+--------------------------------------------------------------------------
+File Description :
+This function defines the scapulothoracic constraints as nonlinear
+constraints and a function of the generalized coordinates (q). We can also
+supress these constraints or even consider them as penalty functions.
+
+ c = nonlinear nonequality constraints
+ scapulothoracic_constraints = nonlinear equality cosntraints
+--------------------------------------------------------------------------
+%}
+
+%--------------------------------------------------------------------------
+% define the AI and TS landmarks using the forward kinematics map
+%--------------------------------------------------------------------------
+% 1) define the rotation matrices from the generalized coordinates vector (Euler angles)
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q, BLDATA);
+ Rc = Rmat(:,1:3);
+ Rs = Rmat(:,4:6);
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+% 2) Get Initial Rotation Matrices
+Rc_initial = BLDATA.Initial_Matrices_L2A.Rc;
+Rs_initial = BLDATA.Initial_Matrices_L2A.Rs;
+Rh_initial = BLDATA.Initial_Matrices_L2A.Rh;
+Ru_initial = BLDATA.Initial_Matrices_L2A.Ru;
+Rr_initial = BLDATA.Initial_Matrices_L2A.Rr;
+
+% 3) Get all initial configurations of the landmarks
+IJ_initial = BLDATA.Initial_Points.IJ;
+PX_initial = BLDATA.Initial_Points.PX;
+T8_initial = BLDATA.Initial_Points.T8;
+C7_initial = BLDATA.Initial_Points.C7;
+SC_initial = BLDATA.Initial_Points.SC;
+AC_initial = BLDATA.Initial_Points.AC;
+AA_initial = BLDATA.Initial_Points.AA;
+TS_initial = BLDATA.Initial_Points.TS;
+AI_initial = BLDATA.Initial_Points.AI;
+GH_initial = BLDATA.Initial_Points.GH;
+HU_initial = BLDATA.Initial_Points.HU;
+EL_initial = BLDATA.Initial_Points.EL;
+EM_initial = BLDATA.Initial_Points.EM;
+CP_initial = BLDATA.Initial_Points.CP;
+US_initial = BLDATA.Initial_Points.US;
+RS_initial = BLDATA.Initial_Points.RS;
+
+% 4) define TS and AI
+SC = SC_initial;
+AC = Rc*Rc_initial'*(AC_initial - SC_initial) + SC_initial;
+TS = Rs*Rs_initial'*(TS_initial - AC_initial) + AC;
+AI = Rs*Rs_initial'*(AI_initial - AC_initial) + AC;
+
+%--------------------------------------------------------------------------
+% nonlinear equality constraint for the TS and AI landmark
+%--------------------------------------------------------------------------
+% TS ellipsoide
+E_TS = diag([1/REDATA.TSaxes(1)^2; 1/REDATA.TSaxes(2)^2; 1/REDATA.TSaxes(3)^2]);
+
+% AI ellipsoide
+E_AI = diag([1/REDATA.AIaxes(1)^2; 1/REDATA.AIaxes(2)^2; 1/REDATA.AIaxes(3)^2]);
+
+% TS constraint
+phi_TS = (TS-REDATA.Centre)'*E_TS*(TS-REDATA.Centre)-1;
+
+% AI constraint
+phi_AI = (AI-REDATA.Centre)'*E_AI*(AI-REDATA.Centre)-1;
+
+scapulothoracic_constraints = [phi_TS phi_AI]';
+
+% nonequality nonlinear cosntraint
+c = [];
+
+return;
+
+% -------------------------------------------------------------------------
+% while parametrizing the joint space using splines Philippe believed that
+% using the velocity of the landmarks in the output space and constraning
+% the problem to also satisfy thoese velocities would help the optimizer
+% end up at a desired solution. To that end, I added few lines in the
+% MAIN_INITIALISATION_build_data_dynamics to define the jacobian and the
+% first and second time derivatives of the jacobian. These three relates
+% the position, velocity and acceleration of joint space to thoese of the
+% output space. The code below is a part of that code to use the
+% precalculated symbolic equations of the dphi_AI and ddphi_AI.
+
+% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+% Get the Joint Angles
+% xc = q(1,1);
+% yc = q(2,1);
+% zc = q(3,1);
+% xs = q(4,1);
+% ys = q(5,1);
+% zs = q(6,1);
+% zh = q(7,1);
+% yh = q(8,1);
+% zzh = q(9,1);
+% xu = q(10,1);
+% zr = q(11,1);
+%
+% % Get the Joint Angular Velocities
+% dxc = dq(1,1);
+% dyc = dq(2,1);
+% dzc = dq(3,1);
+% dxs = dq(4,1);
+% dys = dq(5,1);
+% dzs = dq(6,1);
+% dzh = dq(7,1);
+% dyh = dq(8,1);
+% dzzh = dq(9,1);
+% dxu = dq(10,1);
+% dzr = dq(11,1);
+%
+% ddxc = ddq(1,1);
+% ddyc = ddq(2,1);
+% ddzc = ddq(3,1);
+% ddxs = ddq(4,1);
+% ddys = ddq(5,1);
+% ddzs = ddq(6,1);
+% ddzh = ddq(7,1);
+% ddyh = ddq(8,1);
+% ddzzh = ddq(9,1);
+% ddxu = ddq(10,1);
+% ddzr = ddq(11,1);
+%
+%
+% SCx = SC(1); SCy = SC(2); SCz = SC(3);
+% ACx = AC(1); ACy = AC(2); ACz =AC(3);
+% %AAx = DYDATA.AA(1)/1000; AAy = DYDATA.AA(2)/1000; AAz = DYDATA.AA(3)/1000;
+% TSx = TS(1); TSy = TS(2); TSz = TS(3);
+% AIx = AI(1); AIy = AI(2); AIz = AI(3);
+% % GHx = DYDATA.GH(1)/1000; GHy = DYDATA.GH(2)/1000; GHz = DYDATA.GH(3)/1000;
+% % HUx = DYDATA.HU(1)/1000; HUy = DYDATA.HU(2)/1000; HUz = DYDATA.HU(3)/1000;
+% % USx = DYDATA.US(1)/1000; USy = DYDATA.US(2)/1000; USz = DYDATA.US(3)/1000;
+% % CPx = DYDATA.CP(1)/1000; CPy = DYDATA.CP(2)/1000; CPz = DYDATA.CP(3)/1000;
+% % RSx = DYDATA.RS(1)/1000; RSy = DYDATA.RS(2)/1000; RSz = DYDATA.RS(3)/1000;
+% OEx = REDATA.Centre(1); OEy = REDATA.Centre(2); OEz = REDATA.Centre(3);
+% Ats = REDATA.TSaxes(1); Bts = REDATA.TSaxes(2); Cts = REDATA.TSaxes(3);
+% Aai = REDATA.AIaxes(1); Bai = REDATA.AIaxes(2); Cai = REDATA.AIaxes(3);
+%
+% ESTIMATION_TOOL_constraints_file;
+%
+%
+% dphi_TS = dPHItsdt;
+% dphi_AI = dPHIaidt;
+%
+%
+% ddphi_TS = ddPHItsdt;
+% ddphi_AI = ddPHIaidt;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_parameter_bounds.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_parameter_bounds.m
new file mode 100755
index 0000000..b9d2af2
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_parameter_bounds.m
@@ -0,0 +1,136 @@
+function [Ubounds, RSDATA] = KINEMATICS_TOOL_parameter_bounds(RSDATAin)
+% Function for computing the bounds on the ruled-surface parameterisation.
+%--------------------------------------------------------------------------
+% Syntax
+% [Ubounds, RSDATA] = KINEMATICS_TOOL_parameter_bounds(RSDATAin)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the bounds for the u parameter of the ruled
+% surface resulting from the sphere-ellipsoid intersection.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+Ubounds.Umin = 0;
+Ubounds.Umax = 0;
+RSDATA = RSDATAin;
+
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic-Cylinder
+%--------------------------------------------------------------------------
+if isequal(RSDATA.Type, 'Hyperbolic-Cylinder')
+ % Get the normalised quadric data
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+ S11 = RSDATA.S(1,1);
+ S22 = RSDATA.S(2,2);
+ S33 = RSDATA.S(3,3);
+ S44 = RSDATA.S(4,4);
+
+ % Identify the correct parameterisation. This can only be done
+ % numerically.
+ u = linspace(-10, 10, 1000);
+ signchange = zeros(1,4);
+ for i = 2:size(u,2)
+ % The hyperbolic cylinder parameterisation changes depending on the
+ % orientation. The bounds on u are the zeros of one of the
+ % following functions. There are four possible parameterisations.
+ g1 = (cosh(u(i-1))*a + x0)^2*S11 + (sinh(u(i-1))*b + y0)^2*S22 + S44;
+ g2 = (-cosh(u(i-1))*a + x0)^2*S11 + (sinh(u(i-1))*b + y0)^2*S22 + S44;
+ g3 = (sinh(u(i-1))*a + x0)^2*S11 + (cosh(u(i-1))*b + y0)^2*S22 + S44;
+ g4 = (sinh(u(i-1))*a + x0)^2*S11 + (-cosh(u(i-1))*b + y0)^2*S22 + S44;
+
+ f1 = (cosh(u(i))*a + x0)^2*S11 + (sinh(u(i))*b + y0)^2*S22 + S44;
+ f2 = (-cosh(u(i))*a + x0)^2*S11 + (sinh(u(i))*b + y0)^2*S22 + S44;
+ f3 = (sinh(u(i))*a + x0)^2*S11 + (cosh(u(i))*b + y0)^2*S22 + S44;
+ f4 = (sinh(u(i))*a + x0)^2*S11 + (-cosh(u(i))*b + y0)^2*S22 + S44;
+
+ % If the sign changes, its the correct parameterisation
+ if g1*f1 < 0
+ signchange(1) = 1;
+ end
+
+ if g2*f2 < 0
+ signchange(2) = 1;
+ end
+
+ if g3*f3 < 0
+ signchange(3) = 1;
+ end
+
+ if g4*f4 < 0
+ signchange(4) = 1;
+ end
+ end
+
+ % Find the roots using MATLAB's solve function. This will depend on the
+ % type of parameterisation identified previously
+ Uroots = [];
+ if signchange(1) > 0
+ Uroots = solve('(cosh(u)*a + x0)^2*S11 + (sinh(u)*b + y0)^2*S22 + S44 = 0', 'u');
+ RSDATA.ParamType = 1;
+ elseif signchange(1,2) > 0
+ Uroots = solve('(-cosh(u)*a + x0)^2*S11 + (sinh(u)*b + y0)^2*S22 + S44 = 0', 'u');
+ RSDATA.ParamType = 2;
+ elseif signchange(1,3) > 0
+ Uroots = solve('(sinh(u)*a + x0)^2*S11 + (cosh(u)*b + y0)^2*S22 + S44 = 0', 'u');
+ RSDATA.ParamType = 3;
+ elseif signchange(1,4) > 0
+ Uroots = solve('(sinh(u)*a + x0)^2*S11 + (-cosh(u)*b + y0)^2*S22 + S44 = 0', 'u');
+ RSDATA.ParamType = 4;
+ end
+
+ % Evaluate the symbolic expression
+ Uroots = eval(Uroots);
+
+ % Find the Real Roots
+ Idx = find(abs(imag(Uroots)) < 1.e-8);
+
+ % Identify the maximum and minimum
+ UminMax = Uroots(Idx,1);
+ Ubounds.Umin = min(UminMax);
+ Ubounds.Umax = max(UminMax);
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic Paraboloid
+%--------------------------------------------------------------------------
+elseif isequal(RSDATA.Type, 'Hyperbolic Paraboloid')
+ % Get the normalised quadric data
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ c = RSDATA.NPc;
+ ss = sign(RSDATA.Coef(3));
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+ z0 = RSDATA.Centre(3);
+ S11 = RSDATA.S(1,1);
+ S22 = RSDATA.S(2,2);
+ S33 = RSDATA.S(3,3);
+ S44 = RSDATA.S(4,4);
+
+ % The Hyperbolic Paraboloid parameterisation is such that the bounds
+ % are the zeros of a polynomial. The coefficients were computed
+ % previoulsy using MATLAB's symbolic toolbox.
+ p0 = -4*b^2*ss^2/c^2*S22*S44-4*a^2*ss^2/c^2*S11*z0^2*S33-4*b^2*ss^2/c^2*S22*S11*x0^2-4*b^2*ss^2/c^2*S22*z0^2*S33-4*a^2*ss^2/c^2*S11*S22*y0^2-8*a*ss^2/c^2*S11*x0*b*S22*y0-4*a^2*ss^2/c^2*S11*S44;
+ p1 = 32*b*ss/c*S22*y0*z0*S33-16*a^2*ss^2/c^3*S11*b*S22*y0-16*a*ss^2/c^3*S11*x0*b^2*S22-32*a*ss/c*S11*x0*z0*S33;
+ p2 = -32*a^2*ss/c^2*S11*z0*S33+32*b^2*ss/c^2*S22*z0*S33-16*a^2*ss^2/c^4*S11*b^2*S22-64*S33*S11*x0^2-64*S33*S44-64*S33*S22*y0^2;
+ p3 = -128*S33*S11*a/c*x0-128*S33*S22*b/c*y0;
+ p4 = -64*S33*S11*a^2/c^2-64*S33*S22*b^2/c^2;
+
+ % Get the Roots
+ Uroots = roots([p4, p3, p2, p1, p0]);
+
+ % Find the Real Roots
+ Idx = find(abs(imag(Uroots)) < 1.e-8);
+
+ % Identify the maximum and minimum
+ UminMax = Uroots(Idx,1);
+ Ubounds.Umin = min(UminMax);
+ Ubounds.Umax = max(UminMax);
+else
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruct_motion.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruct_motion.m
new file mode 100755
index 0000000..cc7a23b
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruct_motion.m
@@ -0,0 +1,478 @@
+function SSDATA = KINEMATICS_TOOL_reconstruct_motion(KRPlotHandles, KRGUIHandle, SSDATAin, BLDATA, REDATA)
+%{
+Function for reconstruction of a measured motion.
+--------------------------------------------------------------------------
+Syntax
+KEDATA = KINEMATICS_TOOL_reconstruct_motion(KEDATAin, SSDATA, BLDATA, REDATA)
+--------------------------------------------------------------------------
+File Description:
+Having filtered, transformed, and estimated the landmarks
+this function takes the measured kinematics data from SSDATA and
+reconstruct this motion using inverse kinematics. More precisely, it uses
+global optimization technique to define the generalized coordinates for
+each time step of the measured motion such that the tracking error is
+globally (for all the landmarks at each time step) is minimized. It also
+takes into account the constraints on the scapulothoracic joint using
+KINEMATIC_TOOL_nonlinear_constraints.
+--------------------------------------------------------------------------
+%}
+
+% initialize the output
+SSDATA = SSDATAin;
+
+%--------------------------------------------------------------------------
+% solve the inverse kinematics problem
+%--------------------------------------------------------------------------
+% fmincon setting
+options = optimoptions('fmincon','Display','off','Algorithm','interior-point', 'MaxFunEvals', 3000, 'MaxIter', 10000);
+
+max_frame = 100*str2double(get(KRGUIHandle.TimeFrameEdit, 'string'));
+
+for TimeId = 1:max_frame%length(SSDATA.Measured_Kinematics.IJ)
+
+ % display
+ disp(['Motion reconstruction, Time Stamp : ', num2str(TimeId), '/', num2str(floor(max_frame))]); % length(SSDATA.Measured_Kinematics.IJ)
+
+ % initial guess for the nonlinear optimization
+ if TimeId == 1
+ q0 = zeros(11,1);
+ else
+ q0 = q_r(:,TimeId-1);
+ end
+
+ % define the nonlinear kinematics constraints associated with the
+ % scapulothoracic joint
+ nonlcon = @(q) KINEMATICS_TOOL_nonlinear_constraints(q, BLDATA, REDATA);
+
+ % define the tracking cost function
+ tracking_cost = @(q) KINEMATICS_TOOL_tracking_cost(TimeId, q, SSDATA, BLDATA);
+
+ % solve the IK optimzation problem
+ %q_r(:,TimeId) = fmincon(tracking_cost, q0, [], [], [], [], [], [], nonlcon, options);
+ [q_r(:,TimeId),fval,exitflag,output,lambda,grad,hessian] = fmincon(tracking_cost, q0, [], [], [], [], [], [], nonlcon, options);
+ % define tracking errors for landmarks associated with each segment
+ [global_error(TimeId), thorax_error(TimeId), clavicle_error(TimeId), scapula_error(TimeId), humerus_error(TimeId), ulna_error(TimeId), radius_error(TimeId)] = tracking_cost(q_r(:,TimeId));
+
+
+ [Hessian_est, Lost_factor] = KINEMATICS_TOOL_give_fiacco(q_r(:,TimeId), SSDATA, lambda.eqnonlin, TimeId);
+ SSDATA.Lost_factors{TimeId} = Lost_factor;
+
+ % save the rotation matrices for the robotic test setup
+ SSDATA.Rmat(:,15*(TimeId-1)+1:15*TimeId) = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q_r(:,TimeId), BLDATA);
+
+end
+
+% save the reconstructed joint angels (generalized coordinates)
+SSDATA.Joint_Angle_Reconstruction = q_r;
+
+% save the RMSE of the motion reconstruction
+ SSDATA.RMSE_Reconstrution.Global = (sum(global_error)/max_frame)^0.5; % length(SSDATA.Measured_Kinematics.IJ)
+ SSDATA.RMSE_Reconstrution.Thorax = (sum(thorax_error)/max_frame)^0.5;
+ SSDATA.RMSE_Reconstrution.Clavicle = (sum(clavicle_error)/max_frame)^0.5;
+ SSDATA.RMSE_Reconstrution.Scapula = (sum(scapula_error)/max_frame)^0.5;
+ SSDATA.RMSE_Reconstrution.Humerus = (sum(humerus_error)/max_frame)^0.5;
+ SSDATA.RMSE_Reconstrution.Ulna = (sum(ulna_error)/max_frame)^0.5;
+ SSDATA.RMSE_Reconstrution.Radius = (sum(radius_error)/max_frame)^0.5;
+
+%--------------------------------------------------------------------------
+% approximate the resulted joint angels with smooth polynimials
+%--------------------------------------------------------------------------
+% take the motion time span
+final_time = str2double(get(KRGUIHandle.TimeFrameEdit, 'string'));
+
+% define the elapsed time necessary to connect knot i-1 to i
+%h = final_time/(length(SSDATA.Measured_Kinematics.IJ)-1);
+h = final_time/(max_frame-1);
+
+
+% creat the time
+time = 0: h: final_time;
+
+% save the time for the robotic test setup
+SSDATA.time = time;
+
+for AngleId = 1 : 11
+
+ fitting_options = optimoptions('lsqcurvefit','Display', 'off', 'Algorithm',...
+ 'trust-region-reflective','TolFun', 1e-15,'MaxFunEvals',1000);
+
+ initial_guess = ones(1, 9);
+
+ lb = [-inf -inf -inf -inf -inf -inf -inf -inf -inf];
+
+ ub = [inf inf inf inf inf inf inf inf inf];
+
+ [coefficients,resnorm, residual] = lsqcurvefit(@angle_curve, initial_guess , time ,...
+ q_r(AngleId, :), lb, ub, fitting_options);
+
+
+ SSDATA.Joint_Angle_Coefficients(AngleId, :) = coefficients;
+ SSDATA.Joint_Velocity_Coefficients(AngleId, :) = polyder(coefficients);
+ SSDATA.Joint_Acceleration_Coefficients(AngleId, :) = polyder(polyder(coefficients));
+end
+
+
+
+% display message
+disp(['Motion reconstruction was finished and the results smoothened.']);
+
+%--------------------------------------------------------------------------
+% show the resulted generalized coordinates in the GUI
+%--------------------------------------------------------------------------
+% display message
+disp(['Plot the resulted generalized coordinates (joint angels)']);
+
+% plot the results in the appropriate place on the BUILD MOTION (Option 2)
+% GUI page (i.e.: Plot_IK_Axes)
+% Unfortunately, subplot does not work with axes as it's an axis itself.
+% Therefore, to plot the data in the Plot_IK_Axes I defined KRPlotHandles.Plot_IK_Axes
+% as a "uipanel" and also mentioned it in the subplot "Parent".
+
+% creat title list for the plots
+title_list = {'clavicle axial rotation',...
+ 'clavicle depression/elevation',...
+ 'clavicle retraction/protraction',...
+ 'scapula anterior/posterior tilt',...
+ 'scapula lateral/medial rotation',...
+ 'scapula protraction/retraction',...
+ 'humerus axial rotation',...
+ 'humerus adduction/abduction',...
+ 'humerus flexion/extension',...%plan humerus elevation plane posterior/anterior
+ 'ulna extension/flexion',...
+ 'radius supination/pronation'};
+
+% creat the plots
+for plot_id = 1:11 % number of generalized coordinates
+ subplot(4,3,plot_id,'Parent',KRPlotHandles.Plot_IK_UiPanel);
+ plot(time, (180/pi)*q_r(plot_id,:),'o', 'MarkerFaceColor', 'b','MarkerSize', 3,...
+ 'buttondownfcn', KINEMATICS_TOOL_reconstruction_script_generator('Click On',plot_id));
+ xlabel('time [s]','fontsize',12);
+ ylabel(['q',num2str(plot_id),'[deg]'],'fontsize',12);
+ set(gca,'FontSize',12);
+ title(title_list{1, plot_id},'fontsize',12,'fontweight','normal' );
+ xlim([0,final_time]);
+ grid on
+
+end
+
+% Text for captioning the reconstructed generalized coordinates
+KRGUIHandle.GCTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.29, 0.45, 0.5, 0.03],...
+ 'style', 'text',...
+ 'string', 'Reconstructed generalized coordinates (click on each of the plots below for further plots including the associated generalized velocities and accelerations)',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'HorizontalAlignment','center',...
+ 'fontweight', 'bold');
+
+return;
+
+
+ function angle = angle_curve(coeff, time)
+
+ coefficients = [coeff(1) coeff(2) coeff(3) coeff(4) coeff(5) coeff(6) ...
+ coeff(7) coeff(8) coeff(9)];
+
+ angle = polyval(coefficients, time);
+ return;
+
+
+%--------------------------------------------------------------------------
+% code for piece-wise spline parametrization of the joint space
+%--------------------------------------------------------------------------
+% this approach failed given the simulation that I made on simple example
+% in OneBarModel.
+
+%{
+function SSDATA = KINEMATICS_TOOL_reconstruct_motion(KRHandle, KRPlotHandles, KRGUIHandle, SSDATAin, BLDATA, REDATA)
+%{
+Function for reconstruction of a measured motion.
+--------------------------------------------------------------------------
+Syntax
+KEDATA = KINEMATICS_TOOL_reconstruct_motion(KEDATAin, SSDATA, BLDATA, REDATA)
+--------------------------------------------------------------------------
+File Description:
+Having filtered, transformed, and estimated the landmarks
+this function takes the measured kinematics data from SSDATA and
+reconstruct this motion using inverse kinematics. More precisely, it uses
+global optimization technique to define the generalized coordinates for
+each time step of the measured motion such that the tracking error is
+globally (for all the landmarks at each time step) is minimized. It also
+takes into account the constraints on the scapulothoracic joint using
+KINEMATIC_TOOL_nonlinear_constraints.
+--------------------------------------------------------------------------
+%}
+
+% initialize the output
+SSDATA = SSDATAin;
+
+%--------------------------------------------------------------------------
+% solve the inverse kinematics problem
+%--------------------------------------------------------------------------
+% fmincon setting
+options = optimoptions('fmincon','Display','off','Algorithm','interior-point', 'MaxFunEvals', 30000000, 'MaxIter', 10000000);
+
+% take the motion time span
+final_time = str2double(get(KRGUIHandle.TimeFrameEdit, 'string'));
+
+% define the elapsed time necessary to connect knots i-1 to i (we consider
+% a constant h throughout the motion)
+h = final_time/(length(SSDATA.Measured_Kinematics.IJ)-1);
+
+for TimeId = 1:15%length(SSDATA.Measured_Kinematics.IJ)-1
+
+ % display
+ disp(['Motion reconstruction, Time Stamp : ', num2str(TimeId), '/', num2str(length(SSDATA.Measured_Kinematics.IJ)-1)]);
+
+ % initial guess for fmincon
+% if TimeId == 1
+% q0 = zeros(11,1);%KEDATA.Initial_Minimal_Coordinate % the optimization performance highly depends on the initial guess, subject calibration therefore plays a crucial role in the accuracy of the inverse kinematics method used here to reconstruct a measured motion.
+% else
+% q0 = q_r(:,TimeId-1);
+% end
+
+ if TimeId == 1
+ p0 = zeros(88,1);%KEDATA.Initial_Minimal_Coordinate % the optimization performance highly depends on the initial guess, subject calibration therefore plays a crucial role in the accuracy of the inverse kinematics method used here to reconstruct a measured motion.
+ %p0 = [0 0 0 0 -0.564132493902317 0 0 0 -0.214764871747718 0 0 0 -0.156019331780188 0 0 0 -0.0861735779288405 0 0 0 0.511358098061857 0 0 0 0 0 0 0 -0.0174532925199433 0 0 0 0.523598775598299 0 0 0 1.45354644869875e-07 0 0 0 1.92101179658819e-06 0 0 0]';
+ %p0 = [-0.000164540366356678,-0.000215733774585342,-4.31007637943093e-05,-0.000158493616265167,-1.99855811433464e-05,-3.76219856551492e-05,-6.62547442762208e-05,-0.000173913860631478,-0.557723405398277,-0.0637280623612501,-0.00655236393765927,-0.000575830080996079,-8.63923355778279e-05,-9.15656949976923e-05,-0.000238359506635549,0.000197771959155057,-0.212097560828090,-0.0266110386341692,-0.00267021031451718,-0.000134173546356082,0.000133578830290244,-5.02058292118835e-05,2.59372368582600e-05,-7.31645962464165e-05,-0.154377114652456,-0.0162871179732386,-0.00175490258015439,-0.000316441287487749,-0.000245470888584129,-7.60988159398986e-05,-0.000116377016300341,-0.000104231967879678,-0.0851851396653414,-0.0101581091150401,-0.00108748423595922,-0.000267204842032184,-0.000157039703655863,-0.000208899427238212,-1.07597951986509e-05,-8.75819547709709e-05,0.506153442037870,0.0514383098303354,0.00515694247744514,0.000550991320466978,6.54757072420986e-05,-0.000134460257351088,-0.000109380021424611,0.000106426813501772,0.000228508882418582,0.000420738237007040,0.000158417797467613,-0.000212060768535289,-0.000154573963816205,-6.23897021272805e-05,-1.15760401426098e-05,1.19532793166336e-05,-0.0145656215790827,-0.0285095478897334,-0.00320419459476407,-0.000216688380456114,9.84948766512566e-05,6.77354431053911e-05,-1.98553466598604e-05,-9.68544243144834e-05,0.518055299854908,0.0521040091493882,0.00519783428810392,0.000627275369321812,0.000111127813129812,0.000126980455071050,1.67702443261878e-06,4.76179296399936e-05,-0.000144800265631832,0.00152093836662297,0.000217137172484246,5.48529901703834e-05,-3.11632474315280e-05,6.68120923442096e-06,-1.78661611097418e-05,4.14676664004516e-05,1.27640558205095e-05,5.66130901687052e-06,-4.21606877977659e-05,-7.46006433440686e-05,1.15454680339875e-05,-8.98937574077408e-05,-5.68573335620947e-05,-8.07387173875655e-05]';
+ else
+ p0 = p_r(:,TimeId-1);
+ end
+
+ %--------------------------------------------------------------------------
+ % linear equality constraint to assure continuity of the GC, GV, and GA
+ %--------------------------------------------------------------------------
+
+ if TimeId == 1
+ % Aeq for one coordinate
+ Aeq_diagonal = [0 1 0 0 0 0 0 0; 0 0 1 0 0 0 0 0];
+
+ % define Aeq for all the coordinates
+ Aeq = blkdiag(Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+ Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+ Aeq_diagonal,Aeq_diagonal,Aeq_diagonal);
+
+
+ beq = zeros(22,1);
+
+% elseif TimeId == length(SSDATA.Measured_Kinematics.IJ)
+% % Aeq for one coordinate
+% Aeq_diagonal = [0 1 0 0 0 0 0 0; 0 0 2 0 0 0 0 0;...
+% 0 1 2*h 3*h^2 4*h^3 5*h^4 6*h^5 7*h^6; 0 0 2 6*h 12*h^2 20*h^3 30*h^4 42*h^5];
+%
+% % define Aeq for all the coordinates
+% Aeq = blkdiag(Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+% Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+% Aeq_diagonal,Aeq_diagonal,Aeq_diagonal);
+%
+% for GC_id = 1:11
+% beq(3*GC_id-2:3*GC_id, 1) = [coeff_matrix0(GC_id,1)+coeff_matrix0(GC_id,2)*h+coeff_matrix0(GC_id,3)*h^2+coeff_matrix0(GC_id,4)*h^3+coeff_matrix0(GC_id,5)*h^4+coeff_matrix0(GC_id,6)*h^5+coeff_matrix0(GC_id,7)*h^6+coeff_matrix0(GC_id,8)*h^7;...
+% coeff_matrix0(GC_id,2)+2*coeff_matrix0(GC_id,3)*h+3*coeff_matrix0(GC_id,4)*h^2+4*coeff_matrix0(GC_id,5)*h^3+5*coeff_matrix0(GC_id,6)*h^4+6*coeff_matrix0(GC_id,7)*h^5+7*coeff_matrix0(GC_id,8)*h^6;...
+% 2*coeff_matrix0(GC_id,3)+6*coeff_matrix0(GC_id,4)*h+12*coeff_matrix0(GC_id,5)*h^2+20*coeff_matrix0(GC_id,6)*h^3+30*coeff_matrix0(GC_id,7)*h^4+42*coeff_matrix0(GC_id,8)*h^5;...
+% 0;...
+% 0];
+% end
+
+ else
+
+ % Aeq for one coordinate
+ Aeq_diagonal = [1 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0; 0 0 2 0 0 0 0 0];
+
+ % define Aeq for all the coordinates
+ Aeq = blkdiag(Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+ Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,Aeq_diagonal,...
+ Aeq_diagonal,Aeq_diagonal,Aeq_diagonal);
+
+ % take the coeff_matrix of the knot i-1
+ coeff_matrix0 = [p_r(1,TimeId-1) p_r(2,TimeId-1) p_r(3,TimeId-1) p_r(4,TimeId-1) p_r(5,TimeId-1) p_r(6,TimeId-1) p_r(7,TimeId-1) p_r(8,TimeId-1);...
+ p_r(9,TimeId-1) p_r(10,TimeId-1) p_r(11,TimeId-1) p_r(12,TimeId-1) p_r(13,TimeId-1) p_r(14,TimeId-1) p_r(15,TimeId-1) p_r(16,TimeId-1);...
+ p_r(17,TimeId-1) p_r(18,TimeId-1) p_r(19,TimeId-1) p_r(20,TimeId-1) p_r(21,TimeId-1) p_r(22,TimeId-1) p_r(23,TimeId-1) p_r(24,TimeId-1);...
+ p_r(25,TimeId-1) p_r(26,TimeId-1) p_r(27,TimeId-1) p_r(28,TimeId-1) p_r(29,TimeId-1) p_r(30,TimeId-1) p_r(31,TimeId-1) p_r(32,TimeId-1);...
+ p_r(33,TimeId-1) p_r(34,TimeId-1) p_r(35,TimeId-1) p_r(36,TimeId-1) p_r(37,TimeId-1) p_r(38,TimeId-1) p_r(39,TimeId-1) p_r(40,TimeId-1);...
+ p_r(41,TimeId-1) p_r(42,TimeId-1) p_r(43,TimeId-1) p_r(44,TimeId-1) p_r(45,TimeId-1) p_r(46,TimeId-1) p_r(47,TimeId-1) p_r(48,TimeId-1);...
+ p_r(49,TimeId-1) p_r(50,TimeId-1) p_r(51,TimeId-1) p_r(52,TimeId-1) p_r(53,TimeId-1) p_r(54,TimeId-1) p_r(55,TimeId-1) p_r(56,TimeId-1);...
+ p_r(57,TimeId-1) p_r(58,TimeId-1) p_r(59,TimeId-1) p_r(60,TimeId-1) p_r(61,TimeId-1) p_r(62,TimeId-1) p_r(63,TimeId-1) p_r(64,TimeId-1);...
+ p_r(65,TimeId-1) p_r(66,TimeId-1) p_r(67,TimeId-1) p_r(68,TimeId-1) p_r(69,TimeId-1) p_r(70,TimeId-1) p_r(71,TimeId-1) p_r(72,TimeId-1);...
+ p_r(73,TimeId-1) p_r(74,TimeId-1) p_r(75,TimeId-1) p_r(76,TimeId-1) p_r(77,TimeId-1) p_r(78,TimeId-1) p_r(79,TimeId-1) p_r(80,TimeId-1);...
+ p_r(81,TimeId-1) p_r(82,TimeId-1) p_r(83,TimeId-1) p_r(84,TimeId-1) p_r(85,TimeId-1) p_r(86,TimeId-1) p_r(87,TimeId-1) p_r(88,TimeId-1)];
+
+
+ % define beq
+ for GC_id = 1:11
+ beq(3*GC_id-2:3*GC_id, 1) = [coeff_matrix0(GC_id,1)+coeff_matrix0(GC_id,2)*h+coeff_matrix0(GC_id,3)*h^2+coeff_matrix0(GC_id,4)*h^3+coeff_matrix0(GC_id,5)*h^4+coeff_matrix0(GC_id,6)*h^5+coeff_matrix0(GC_id,7)*h^6+coeff_matrix0(GC_id,8)*h^7;...
+ coeff_matrix0(GC_id,2)+2*coeff_matrix0(GC_id,3)*h+3*coeff_matrix0(GC_id,4)*h^2+4*coeff_matrix0(GC_id,5)*h^3+5*coeff_matrix0(GC_id,6)*h^4+6*coeff_matrix0(GC_id,7)*h^5+7*coeff_matrix0(GC_id,8)*h^6;...
+ 2*coeff_matrix0(GC_id,3)+6*coeff_matrix0(GC_id,4)*h+12*coeff_matrix0(GC_id,5)*h^2+20*coeff_matrix0(GC_id,6)*h^3+30*coeff_matrix0(GC_id,7)*h^4+42*coeff_matrix0(GC_id,8)*h^5];
+ end
+ end
+% else
+% Aeq = [];
+% beq = [];
+% end
+ % define the nonlinear kinematics constraints
+ nonlcon = @(p) KINEMATICS_TOOL_nonlinear_constraints(p, BLDATA, REDATA, SSDATA, KRGUIHandle);
+
+ % define the cost function
+ tracking_cost = @(p) KINEMATICS_TOOL_tracking_cost(TimeId, p, SSDATA, BLDATA, KRGUIHandle);
+
+ % solve the IK optimzation problem
+ %q_r(:,TimeId) = fmincon(@(q)KINEMATICS_TOOL_tracking_cost(TimeId, q, SSDATA, BLDATA),q0,[],[],[],[],[],[],nonlcon, options);
+ p_r(:,TimeId) = fmincon(tracking_cost,p0,[],[],Aeq,beq,[],[],nonlcon, options);
+
+ % define tracking errors for landmarks associated with each segment
+ [global_error(TimeId), thorax_error(TimeId), clavicle_error(TimeId), scapula_error(TimeId), humerus_error(TimeId), ulna_error(TimeId), radius_error(TimeId)] = tracking_cost(p_r(:,TimeId));
+
+ % define q_r by based on the resulted spline p_r
+% q_r(:,TimeId) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId);...
+% p_r(5,TimeId) p_r(6,TimeId) p_r(7,TimeId) p_r(8,TimeId);...
+% p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId);...
+% p_r(13,TimeId) p_r(14,TimeId) p_r(15,TimeId) p_r(16,TimeId);...
+% p_r(17,TimeId) p_r(18,TimeId) p_r(19,TimeId) p_r(20,TimeId);...
+% p_r(21,TimeId) p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId);...
+% p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId);...
+% p_r(29,TimeId) p_r(30,TimeId) p_r(31,TimeId) p_r(32,TimeId);...
+% p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId) p_r(36,TimeId);...
+% p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId);...
+% p_r(41,TimeId) p_r(42,TimeId) p_r(43,TimeId) p_r(44,TimeId)]*[1 h h^2 h^3]';
+
+% q_r(:,TimeId) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId) p_r(5,TimeId) p_r(6,TimeId);...
+% p_r(7,TimeId) p_r(8,TimeId) p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId);...
+% p_r(13,TimeId) p_r(14,TimeId) p_r(15,TimeId) p_r(16,TimeId) p_r(17,TimeId) p_r(18,TimeId);...
+% p_r(19,TimeId) p_r(20,TimeId) p_r(21,TimeId) p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId);...
+% p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId) p_r(29,TimeId) p_r(30,TimeId);...
+% p_r(31,TimeId) p_r(32,TimeId) p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId) p_r(36,TimeId);...
+% p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId) p_r(41,TimeId) p_r(42,TimeId);...
+% p_r(43,TimeId) p_r(44,TimeId) p_r(45,TimeId) p_r(46,TimeId) p_r(47,TimeId) p_r(48,TimeId);...
+% p_r(49,TimeId) p_r(50,TimeId) p_r(51,TimeId) p_r(52,TimeId) p_r(53,TimeId) p_r(54,TimeId);...
+% p_r(55,TimeId) p_r(56,TimeId) p_r(57,TimeId) p_r(58,TimeId) p_r(59,TimeId) p_r(60,TimeId);...
+% p_r(61,TimeId) p_r(62,TimeId) p_r(63,TimeId) p_r(64,TimeId) p_r(65,TimeId) p_r(66,TimeId)]*[1 h h^2 h^3 h^4 h^5]';
+%
+% q_r(:,TimeId) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId) p_r(5,TimeId) p_r(6,TimeId) p_r(7,TimeId);...
+% p_r(8,TimeId) p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId) p_r(13,TimeId) p_r(14,TimeId);...
+% p_r(15,TimeId) p_r(16,TimeId) p_r(17,TimeId) p_r(18,TimeId) p_r(19,TimeId) p_r(20,TimeId) p_r(21,TimeId);...
+% p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId) p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId);...
+% p_r(29,TimeId) p_r(30,TimeId) p_r(31,TimeId) p_r(32,TimeId) p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId);...
+% p_r(36,TimeId) p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId) p_r(41,TimeId) p_r(42,TimeId);...
+% p_r(43,TimeId) p_r(44,TimeId) p_r(45,TimeId) p_r(46,TimeId) p_r(47,TimeId) p_r(48,TimeId) p_r(49,TimeId);...
+% p_r(50,TimeId) p_r(51,TimeId) p_r(52,TimeId) p_r(53,TimeId) p_r(54,TimeId) p_r(55,TimeId) p_r(56,TimeId);...
+% p_r(57,TimeId) p_r(58,TimeId) p_r(59,TimeId) p_r(60,TimeId) p_r(61,TimeId) p_r(62,TimeId) p_r(63,TimeId);...
+% p_r(64,TimeId) p_r(65,TimeId) p_r(66,TimeId) p_r(67,TimeId) p_r(68,TimeId) p_r(69,TimeId) p_r(70,TimeId);...
+% p_r(71,TimeId) p_r(72,TimeId) p_r(73,TimeId) p_r(74,TimeId) p_r(75,TimeId) p_r(76,TimeId) p_r(77,TimeId)]*[1 h h^2 h^3 h^4 h^5 h^6]';
+if TimeId == 1
+ q_r(:,TimeId) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId) p_r(5,TimeId) p_r(6,TimeId) p_r(7,TimeId) p_r(8,TimeId);...
+ p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId) p_r(13,TimeId) p_r(14,TimeId) p_r(15,TimeId) p_r(16,TimeId);...
+ p_r(17,TimeId) p_r(18,TimeId) p_r(19,TimeId) p_r(20,TimeId) p_r(21,TimeId) p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId);...
+ p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId) p_r(29,TimeId) p_r(30,TimeId) p_r(31,TimeId) p_r(32,TimeId);...
+ p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId) p_r(36,TimeId) p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId);...
+ p_r(41,TimeId) p_r(42,TimeId) p_r(43,TimeId) p_r(44,TimeId) p_r(45,TimeId) p_r(46,TimeId) p_r(47,TimeId) p_r(48,TimeId);...
+ p_r(49,TimeId) p_r(50,TimeId) p_r(51,TimeId) p_r(52,TimeId) p_r(53,TimeId) p_r(54,TimeId) p_r(55,TimeId) p_r(56,TimeId);...
+ p_r(57,TimeId) p_r(58,TimeId) p_r(59,TimeId) p_r(60,TimeId) p_r(61,TimeId) p_r(62,TimeId) p_r(63,TimeId) p_r(64,TimeId);...
+ p_r(65,TimeId) p_r(66,TimeId) p_r(67,TimeId) p_r(68,TimeId) p_r(69,TimeId) p_r(70,TimeId) p_r(71,TimeId) p_r(72,TimeId);...
+ p_r(73,TimeId) p_r(74,TimeId) p_r(75,TimeId) p_r(76,TimeId) p_r(77,TimeId) p_r(78,TimeId) p_r(79,TimeId) p_r(80,TimeId);...
+ p_r(81,TimeId) p_r(82,TimeId) p_r(83,TimeId) p_r(84,TimeId) p_r(85,TimeId) p_r(86,TimeId) p_r(87,TimeId) p_r(88,TimeId)]*[1 0 0 0 0 0 0 0]';
+
+ q_r(:,TimeId+1) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId) p_r(5,TimeId) p_r(6,TimeId) p_r(7,TimeId) p_r(8,TimeId);...
+ p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId) p_r(13,TimeId) p_r(14,TimeId) p_r(15,TimeId) p_r(16,TimeId);...
+ p_r(17,TimeId) p_r(18,TimeId) p_r(19,TimeId) p_r(20,TimeId) p_r(21,TimeId) p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId);...
+ p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId) p_r(29,TimeId) p_r(30,TimeId) p_r(31,TimeId) p_r(32,TimeId);...
+ p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId) p_r(36,TimeId) p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId);...
+ p_r(41,TimeId) p_r(42,TimeId) p_r(43,TimeId) p_r(44,TimeId) p_r(45,TimeId) p_r(46,TimeId) p_r(47,TimeId) p_r(48,TimeId);...
+ p_r(49,TimeId) p_r(50,TimeId) p_r(51,TimeId) p_r(52,TimeId) p_r(53,TimeId) p_r(54,TimeId) p_r(55,TimeId) p_r(56,TimeId);...
+ p_r(57,TimeId) p_r(58,TimeId) p_r(59,TimeId) p_r(60,TimeId) p_r(61,TimeId) p_r(62,TimeId) p_r(63,TimeId) p_r(64,TimeId);...
+ p_r(65,TimeId) p_r(66,TimeId) p_r(67,TimeId) p_r(68,TimeId) p_r(69,TimeId) p_r(70,TimeId) p_r(71,TimeId) p_r(72,TimeId);...
+ p_r(73,TimeId) p_r(74,TimeId) p_r(75,TimeId) p_r(76,TimeId) p_r(77,TimeId) p_r(78,TimeId) p_r(79,TimeId) p_r(80,TimeId);...
+ p_r(81,TimeId) p_r(82,TimeId) p_r(83,TimeId) p_r(84,TimeId) p_r(85,TimeId) p_r(86,TimeId) p_r(87,TimeId) p_r(88,TimeId)]*[1 h h^2 h^3 h^4 h^5 h^6 h^7]';
+else
+ q_r(:,TimeId+1) = [p_r(1,TimeId) p_r(2,TimeId) p_r(3,TimeId) p_r(4,TimeId) p_r(5,TimeId) p_r(6,TimeId) p_r(7,TimeId) p_r(8,TimeId);...
+ p_r(9,TimeId) p_r(10,TimeId) p_r(11,TimeId) p_r(12,TimeId) p_r(13,TimeId) p_r(14,TimeId) p_r(15,TimeId) p_r(16,TimeId);...
+ p_r(17,TimeId) p_r(18,TimeId) p_r(19,TimeId) p_r(20,TimeId) p_r(21,TimeId) p_r(22,TimeId) p_r(23,TimeId) p_r(24,TimeId);...
+ p_r(25,TimeId) p_r(26,TimeId) p_r(27,TimeId) p_r(28,TimeId) p_r(29,TimeId) p_r(30,TimeId) p_r(31,TimeId) p_r(32,TimeId);...
+ p_r(33,TimeId) p_r(34,TimeId) p_r(35,TimeId) p_r(36,TimeId) p_r(37,TimeId) p_r(38,TimeId) p_r(39,TimeId) p_r(40,TimeId);...
+ p_r(41,TimeId) p_r(42,TimeId) p_r(43,TimeId) p_r(44,TimeId) p_r(45,TimeId) p_r(46,TimeId) p_r(47,TimeId) p_r(48,TimeId);...
+ p_r(49,TimeId) p_r(50,TimeId) p_r(51,TimeId) p_r(52,TimeId) p_r(53,TimeId) p_r(54,TimeId) p_r(55,TimeId) p_r(56,TimeId);...
+ p_r(57,TimeId) p_r(58,TimeId) p_r(59,TimeId) p_r(60,TimeId) p_r(61,TimeId) p_r(62,TimeId) p_r(63,TimeId) p_r(64,TimeId);...
+ p_r(65,TimeId) p_r(66,TimeId) p_r(67,TimeId) p_r(68,TimeId) p_r(69,TimeId) p_r(70,TimeId) p_r(71,TimeId) p_r(72,TimeId);...
+ p_r(73,TimeId) p_r(74,TimeId) p_r(75,TimeId) p_r(76,TimeId) p_r(77,TimeId) p_r(78,TimeId) p_r(79,TimeId) p_r(80,TimeId);...
+ p_r(81,TimeId) p_r(82,TimeId) p_r(83,TimeId) p_r(84,TimeId) p_r(85,TimeId) p_r(86,TimeId) p_r(87,TimeId) p_r(88,TimeId)]*[1 h h^2 h^3 h^4 h^5 h^6 h^7]';
+
+
+end
+end
+
+% save the reconstructed joint angels (generalized coordinates)
+% to smoothen data one approach was this that did not work out well
+% for i = 1:11
+% q_r(i,:) = smooth(q_r(i,:),'rlowess');
+% end
+SSDATA.Joint_Angle_Reconstruction = q_r;
+SSDATA.Coefficients = p_r;
+
+
+% save the RMSE of the motion reconstruction
+ SSDATA.RMSE_Reconstrution.Global = (sum(global_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Thorax = (sum(thorax_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Clavicle = (sum(clavicle_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Scapula = (sum(scapula_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Humerus = (sum(humerus_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Ulna = (sum(ulna_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+ SSDATA.RMSE_Reconstrution.Radius = (sum(radius_error)/length(SSDATA.Measured_Kinematics.IJ))^0.5;
+
+%--------------------------------------------------------------------------
+% show the resulted generalized coordinates in the GUI
+%--------------------------------------------------------------------------
+% display message
+disp(['Plot the resulted generalized coordinates (joint angels)']);
+
+% plot the results in the appropriate place on the BUILD MOTION (Option 2)
+% GUI page (i.e.: Plot_IK_Axes)
+% Unfortunately, subplot does not work with axes as it's an axis itself.
+% Therefore, to plot the data in the Plot_IK_Axes I defined KRPlotHandles.Plot_IK_Axes
+% as a "uipanel" and also mentioned it in the subplot "Parent".
+
+%set(KRHandle, 'currentaxes', KRPlotHandles.Plot_IK_Axes);
+
+% creat the time
+%time = linspace(0, final_time, length(SSDATA.Measured_Kinematics.IJ));
+%time = linspace(0, final_time, 14);
+time = 0:h:15*h;%final_time;
+% creat title list
+title_list = {'clavicle axial rotation',...
+ 'clavicle depression/elevation',...
+ 'clavicle retraction/protraction',...
+ 'scapula external/internal tilt',...
+ 'scapula depression/elevation',...
+ 'scapula retraction/protraction',...
+ 'humerus axial rotation',...
+ 'humerus adduction/abduction',...
+ 'humerus flexion/extension',...%plan humerus elevation plane posterior/anterior
+ 'ulna extension/flexion',...
+ 'radius supination/pronation'};
+
+% creat the plots
+for plot_id = 1:11 % number of generalized coordinates
+ subplot(4,3,plot_id,'Parent',KRPlotHandles.Plot_IK_UiPanel);
+ plot(time, (180/pi)*q_r(plot_id,:),'o', 'MarkerFaceColor', 'b','MarkerSize', 3,...
+ 'buttondownfcn', KINEMATICS_TOOL_reconstruction_script_generator('Click On',plot_id));
+ xlabel('time [s]','fontsize',12);
+ ylabel(['q',num2str(plot_id),'[deg]'],'fontsize',12);
+ set(gca,'FontSize',12);
+ title(title_list{1, plot_id},'fontsize',12,'fontweight','normal' );
+ xlim([0,final_time]);
+
+end
+
+% Text for captioning the reconstructed generalized coordinates
+KRGUIHandle.GCTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.29, 0.45, 0.5, 0.03],...
+ 'style', 'text',...
+ 'string', 'Reconstructed generalized coordinates (click on each of the plots below for further plots including the associated generalized velocities and accelerations)',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'HorizontalAlignment','center',...
+ 'fontweight', 'bold');
+
+return;
+
+
+%}
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_main_file.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_main_file.m
new file mode 100755
index 0000000..76c1a39
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_main_file.m
@@ -0,0 +1,297 @@
+%{
+--------------------------------------------------------------------------
+ GUI FOR RUNNING THE MOTION RECONSTRUCTION GUI
+--------------------------------------------------------------------------
+File Description :
+This file creates the GUI for running motion reconstruction tools.
+--------------------------------------------------------------------------
+File Structure :
+The GUI figure is created in KRHandle. The pushbuttons are defined next,
+followed by the initialisation script. All the GUI control structures are
+contained in KRGUIHandle. All the graphics are contained in a single
+strucure : KRPlotHandles.
+
+--------------------------------------------------------------------------
+%}
+
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE THE MAIN FIGURE OF THE GUI
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+KRHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO SHOULDER MODEL: BUILD MOTION (Option 2), reconstruction of a measured motion');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% frames
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+% frame defining the borders of the filtering tools
+KRGUIHandle.PBFrame = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.78, 0.3, 0.16],...
+ 'style', 'frame',...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Text for the filteration frame
+KRGUIHandle.PBFrameTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.93, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Data Filteration',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'HorizontalAlignment','left',...
+ 'fontweight', 'bold');
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE PUSHBUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+% Push Button for Closing the GUI
+KRGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CLOSE TOOL ---------------------------------------</b><br><p style="font-size: 90%;"> <i> Closes the BUILD MOTION tool and returns to KINEMATICS TOOLBOX GUI</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Close Build Motion'));
+
+% Push Button performing residual analysis
+KRGUIHandle.Residual_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.89, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- Residual Analysis --</b><br><p style="font-size: 90%;"> <i> Performs RA to define cutoff frequency</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Residual Analysis'));
+
+% Push Button for performing harmonic analysis
+KRGUIHandle.Harmonic_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.89, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- Harmonic Analysis --</b><br><p style="font-size: 90%;"> <i> Performs HA to define cutoff frequency</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Harmonic Analysis'));
+
+% Push Button for filtering the measured kinematics
+KRGUIHandle.Filter_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.78, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- Filter Measured Data -----------------------------</b><br><p style="font-size: 90%;"> <i> Filters and transforms the measured data provided the necessary settings</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Filter Data'));
+
+% Push Button for estimating the missing landmarks
+KRGUIHandle.Estimate_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.72, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- Estimate Missing Landmarks ------------------</b><br><p style="font-size: 90%;"> <i> Estimates evolutions of landmarks missing from the measured data (AC, TS, AI, GH, HU, CP)</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Estimate Data'));
+
+% Push Button for performing the IK
+KRGUIHandle.IK_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.67, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- Perform Inverse Kinematics --------------------</b><br><p style="font-size: 90%;"> <i> Defines the generalized coordinates such that the model tracks the measured data</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('Inverse Kinematics'));
+
+% Push Button for viewing the reconstructed motion together with the
+% measured motion
+KRGUIHandle.View_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.62, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- View Motions ---------------------------------------</b><br><p style="font-size: 90%;"> <i> Shows the reconstructed motion resulted from IK together with the meaured+estimated motion</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', KINEMATICS_TOOL_reconstruction_script_generator('View Motion'));
+
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Filtering setting
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+% cutoff frequency text
+KRGUIHandle.Cutoff_Frequency.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.86, 0.13, 0.02],...
+ 'style', 'text',...
+ 'string', 'Cutoff Frequency [Hz]:',...
+ 'backgroundcolor', 'white',...
+ 'HorizontalAlignment','left',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% cutoff frequency value
+KRGUIHandle.Cutoff_Frequency.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.71, 0.84, 0.13, 0.02],...
+ 'style', 'edit',...
+ 'string', '2.8',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');%,...
+ %'callback', KINEMATICS_TOOL_reconstruction_script_generator('Filter Data'));
+
+% filter order text
+KRGUIHandle.Filter_Order.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.86, 0.86, 0.13, 0.02],...
+ 'style', 'text',...
+ 'string', 'Filter Order:',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Height Value
+KRGUIHandle.Filter_Order.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.86, 0.84, 0.13, 0.02],...
+ 'style', 'edit',...
+ 'string', '8',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');%,...
+ %'callback', KINEMATICS_TOOL_reconstruction_script_generator('Filter Data'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Final time
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% this time is not really important during the IK, except when we want to
+% plot the resulted generalized coordinates along with time or when we want
+% to define/plot their differntiation i.e. generalized velocities and
+% accelerations. Otherwise, this value is of importance for force
+% prediction. As it defines the dynamics of motion (accelerations and
+% velocities).
+
+% Text for imposing the final time (we know it from measurements)
+KRGUIHandle.TimeFrameTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.57, 0.68, 0.13, 0.04],...
+ 'style', 'text',...
+ 'string', 'Motion time span [S]:',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'HorizontalAlignment','left',...
+ 'fontweight', 'bold');
+
+% Edit for imposing the final time (we know it from measurements)
+KRGUIHandle.TimeFrameEdit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.57, 0.68, 0.12, 0.02],...
+ 'style', 'edit',...
+ 'string', num2str(length(SSDATA.Measured_Kinematics.IJ)/100),... % the number of sample devided by the fs (sampling frequency) gives the total time span of the motion
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION OF THE VISUALISATION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+%--------------------------------------------------------------------------
+% Create the Axes:
+%--------------------------------------------------------------------------
+% axes for view motion
+KRPlotHandles.View_Motion_Axes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.50, 0.35, 0.45]);
+
+% Text instead of wireframe legend
+KRGUIHandle.LegendTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.25, 0.9, 0.16, 0.04],...
+ 'style', 'text',...
+ 'string', 'green: measured motion blue: reconstructed motion',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'HorizontalAlignment','left',...
+ 'fontweight', 'bold');
+
+% % axes for plot the results of IK
+% KRPlotHandles.Plot_IK_Axes = axes(...
+% 'units', 'normalized',...
+% 'position', [0.57, 0.05, 0.41, 0.55],...
+% 'xtick',[],'ytick',[],...
+% 'box','on');
+
+KRPlotHandles.Plot_IK_UiPanel = uipanel(...
+ 'units', 'normalized',...
+ 'Visible','on',...
+ 'BackgroundColor','white',...
+ 'FontSize', 10,...
+ 'position', [-0.05, -0.02, 1.1, 0.50]);% 'BorderWidth', 0,...'BorderType', 'line',...
+
+%--------------------------------------------------------------------------
+% plot the primary view of the scaled model wireframe
+%--------------------------------------------------------------------------
+% Set the Axis
+set(KRHandle, 'currentaxes', KRPlotHandles.View_Motion_Axes); hold on;
+
+% % Create the 3-D Meshing Visualisations
+% SPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+% SPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+% SPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+% SPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+% SPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+% SPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+% SPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% make the meshings to look transparent
+% for mesh = 1:7
+% SPlotHandles.MeshHandle(mesh).FaceAlpha = 0.2;
+% end
+
+
+% Create the initial 3-D Wire Frame Visualisations of the scaled model
+% (note that at this stage the measured data are not yet available because
+% they need to be first rectified and filtered.
+KRPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+KRPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+KRPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+KRPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+KRPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+KRPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+% the scaled model is always blue (the generic is red and the measured data are green)
+for wire = 1:6
+ set(KRPlotHandles.WireFrameHandle(wire),'markerfacecolor', 'blue','markeredgecolor', 'blue');
+end
+%axis off
+%axis equal; % Correct the apsect ratio.
+axis ([-100 800 -400 800 -700 800]);
+zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+view([155, 15]); % Setup the initial camera postion [0,0] is behind horizontally.
+box on;
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_script_generator.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_script_generator.m
new file mode 100755
index 0000000..704abaa
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_reconstruction_script_generator.m
@@ -0,0 +1,148 @@
+function CBScript = KINEMATICS_TOOL_reconstruction_script_generator(task, varargin)
+%{
+Uicontrol Callback Script Generator for build motion (option 2) Tool GUI.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = KINEMATICS_TOOL_reconstruction_script_generator(task)
+--------------------------------------------------------------------------
+
+
+
+File Description :
+This function generates the uicontrol callback scripts for the subject
+specific tool GUI. The task input variable inidicates which script to return.
+
+List of Scripts :
+ Task 1: Close Build Motion
+ Task 2: Residual Analysis
+ Task 3: Harmonic Analysis
+ Task 4: Filter Data
+ Task 5: Estimate Data
+ Task 6: Inverse Kinematics
+ Task 7: Help
+ Task 8: Click On
+
+* varagin is used for the sake of only Task 6 (Click ON), as we need to
+input the number of the plot that the user clicks on to see more detailed
+plots.
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Subject GUI
+% Closes the subject specific tool GUI and deletes the variables that are no
+% longer needed. indicate other parts that are updated to account for these
+% changes.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Build Motion')
+ CBScript = [...
+ 'clear KRHandle;',...
+ 'clear KRPlotHandles;',...
+ 'clear KRGUIHandle;',...
+ 'close gcf;'];
+%--------------------------------------------------------------------------
+% Task 2 : Residual Analysis
+% performs residual analysis on all of the measured data provided in order
+% to help the user decides on the value of the cutoff frequency of the
+% filter and also to given the user an idea of the quality of the measured
+% data.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Residual Analysis')
+ CBScript = 'KINEMATICS_TOOL_data_filteration(''Residual Analysis'', SSDATA);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Harmonic Analysis
+% performs harmonic analysis on all of the measured data provided in order
+% to help the user decides on the value of the cutoff frequency of the
+% filter and also to given the user an idea of the quality of the measured
+% data.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Harmonic Analysis')
+ CBScript = 'KINEMATICS_TOOL_data_filteration(''Harmonic Analysis'', SSDATA);';
+
+%--------------------------------------------------------------------------
+% Task 4 : Filter Data
+% takes the settings provided and filters the data and replaces them with
+% the filtered and transformed (to the matlab coordinate) data.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Filter Data')
+ CBScript = 'SSDATA = KINEMATICS_TOOL_data_filteration(''Filter Data'', SSDATA, KRGUIHandle);';
+
+
+%--------------------------------------------------------------------------
+% Task 5 : Estimate Data
+% Estimates the evolutions of landmarks missing from the measurement data
+% including TS, AI, GH, HU, CP.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Estimate Data')
+ CBScript = '[SSDATA, BLDATA] = KINEMATICS_TOOL_Estimate_Landmarks(KRHandle, KRPlotHandles, SSDATA, BLDATA);';
+
+
+%--------------------------------------------------------------------------
+% Task 6 : Inverse Kinematics
+% Perform inverse kinematics such that the error associated with tracking
+% the measured data is globally minimized.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Inverse Kinematics')
+ CBScript = 'SSDATA = KINEMATICS_TOOL_reconstruct_motion(KRPlotHandles, KRGUIHandle, SSDATA, BLDATA, REDATA);';
+
+%--------------------------------------------------------------------------
+% Task 7 : View Motion
+% View both of the reconstructed motion resulted from IK and the measured
+% and estimated motion.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'View Motion')
+ CBScript = 'KINEMATICS_TOOL_view_reconstructed_motion;';
+
+%--------------------------------------------------------------------------
+% Task 8 : Click On
+% Runs a scripts that plots the generalized velocities and accelerations.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Click On')
+ GC_id = varargin{1,1};
+ CBScript = [...
+ 'GC_id = ', num2str(GC_id), ';',...
+ 'KINEMATICS_TOOL_click_on_script;'];
+
+%--------------------------------------------------------------------------
+% Task 9 : Help
+% Displays a help message in the command window when the help menu option
+% is clicked.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------- INTERFACE FOR BUILD MOTION (Option 2): reconstruction of a measured motion -----------------\n'',',...
+ ' ''This GUI helps you to reconstruct a meaured motion.\n'',',...
+ ' ''First, you need to filter the measured motion and transform it in the Thorax (Matlab) frame.\n'',',...
+ ' ''Second, given that there are missing landmarks in the experiment, you need to estimate them.\n'',',...
+ ' ''Now, you can perform inverse kinematics that defines the joint Euler angels\n'', ',...
+ ' ''(generalized coordinates) such that the error associated with tracking the measured landmarks is globally minimized.\n'',',...
+ ' ''You can see the RMSE of the tracking in the SSDATA. Also, the joint angels will be ploted on this same GUI page.\n'',',...
+ ' ''The reconstructed motion together with the measured motion can be animated subject to you pressing the View Motions puss botton\n'','...
+ ' '''']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'KINEMATICS_TOOL_reconstruction_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Build Motion,\n',...
+ '2) Residual Analysis,\n',...
+ '3) Harmonic Analysis,\n',...
+ '4) Filter Data,\n',...
+ '5) Estimate Data,\n',...
+ '6) Inverse Kinematics,\n',...
+ '7) Click On,\n',...
+ '8) Help,\n',...
+ '9) .'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_ruled_surface_parameters.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_ruled_surface_parameters.m
new file mode 100755
index 0000000..2bed358
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_ruled_surface_parameters.m
@@ -0,0 +1,75 @@
+function RSDATA = KINEMATICS_TOOL_ruled_surface_parameters(IQuad)
+% Function which generates a quadric data structure
+%--------------------------------------------------------------------------
+% Syntax :
+% RSDATA = KINEMATICS_TOOL_ruled_surface_parameters(IQuad)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function generates a datastructure RSDATA with all the parameters
+% related to the quadric-quadric intersection.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+RSDATA = [];
+
+% Differentiate between the two types of intersection surfaces.
+if isequal(IQuad.Type, 'Hyperbolic-Cylinder')
+ % Compute the parameters of the Intersection Surface
+ % alpha_1*(x - x0)^2 + alpha_2*(y - y0)^2 + alpha_4 = 0
+ alpha_1 = IQuad.Q(1,1);
+ alpha_2 = IQuad.Q(2,2);
+
+ x0 = -IQuad.Q(4,1)/alpha_1;
+ y0 = -IQuad.Q(4,2)/alpha_2;
+
+ alpha_4 = IQuad.Q(4,4) - (alpha_1*x0^2 + alpha_2*y0^2);
+
+ % Set the Parameters
+ RSDATA.Coef = [alpha_1; alpha_2; alpha_4];
+ RSDATA.Centre = [x0; y0];
+ RSDATA.Type = 'Hyperbolic-Cylinder';
+ RSDATA.Axis = IQuad.Axis;
+ RSDATA.IdS = IQuad.IndexSwitch;
+ RSDATA.S = IQuad.S;
+ RSDATA.T = IQuad.T;
+ RSDATA.Q = IQuad.Q;
+ RSDATA.ParamType = 1;
+
+ % Compute the normalised Parameters
+ RSDATA.NPa = sqrt(abs(alpha_4/alpha_1));
+ RSDATA.NPb = sqrt(abs(alpha_4/alpha_2));
+ RSDATA.NPc = [];
+
+elseif isequal(IQuad.Type, 'Hyperbolic Paraboloid')
+ % Compute the parameters of the Intersection Surfac
+ % alpha_1*(x - x0)^2 + alpha_2*(y - y0)^2 + alpha_3*(z - z0) = 0
+ alpha_1 = IQuad.Q(1,1);
+ alpha_2 = IQuad.Q(2,2);
+ alpha_3 = 2*IQuad.Q(3,4);
+
+ x0 = -IQuad.Q(4,1)/alpha_1;
+ y0 = -IQuad.Q(4,2)/alpha_2;
+ z0 = (alpha_1*x0^2 + alpha_2*y0^2-IQuad.Q(4,4))/alpha_3;
+
+ % Set the Parameters
+ RSDATA.Coef = [alpha_1; alpha_2; alpha_3];
+ RSDATA.Centre = [x0; y0; z0];
+ RSDATA.Type = 'Hyperbolic Paraboloid';
+ RSDATA.Axis = IQuad.Axis;
+ RSDATA.IdS = IQuad.IndexSwitch;
+ RSDATA.S = IQuad.S;
+ RSDATA.T = IQuad.T;
+ RSDATA.Q = IQuad.Q;
+
+ % Compute the normalised Parameters
+ RSDATA.NPa = 1/sqrt(abs(alpha_1));
+ RSDATA.NPb = 1/sqrt(abs(alpha_2));
+ RSDATA.NPc = 1/sqrt(abs(alpha_3));
+else
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_script_generator.m
new file mode 100755
index 0000000..a140bde
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_script_generator.m
@@ -0,0 +1,152 @@
+function CBScript = KINEMATICS_TOOL_script_generator(task, varargin)
+%{
+Function for generating the uicontrol callback scripts
+--------------------------------------------------------------------------
+Syntax :
+CBScript = KINEMATICS_TOOL_script_generator(task)
+--------------------------------------------------------------------------
+
+File Description:
+This function generates scripts for the kinematics tool GUI. The
+scripts are generated as text arrays. The task input variable inidicates
+which script to return.
+
+List of Scripts :
+ 1) Close Joint Tool
+ 2) Build Kinematics
+ 3) Update uicontrols
+ 4) View Motion
+ 5.1) Menu Functions I
+ 5.2) Menu Functions II
+ 6) Clicked on graph
+ 7) Help
+--------------------------------------------------------------------------
+%}
+
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Kiematics Tool
+% Closes the GUI and deletes unused variables.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Kinematics Tool')
+ CBScript = [...
+ 'clear KGUIHandle;',...
+ 'clear KPlotHandles;',...
+ 'clear KinemVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear KHandle;',...
+ 'clear i j;',...
+ 'clear JEAVisualisationAxes;',...
+ 'clear PlotTitleList;',...
+ 'clear MvtList LegHand jea djeadt d2jeadt2 Cpath CScript Image;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Build the Kinematics
+% Builds the kinematics (velocity & acceleration)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Build Kinematics')
+ CBScript = [...
+ 'KEDATA = KINEMATICS_TOOL_build_motion(KEDATA, BLDATA, REDATA);',...
+ 'Rmat = MAIN_TOOL_geometry_functions(''Build Rotation Matrices From Euler Angles'', KEDATA.Joint_Angle_Evolution(:,1), BLDATA);',...
+ 'BLDATA = MAIN_TOOL_geometry_functions(''Update Initial Bony Landmark Data from Joint Rotation Matrices'', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);',...
+ 'for AngleId = 1:11;',...
+ 'set(KHandle, ''currentaxes'', KIVisualisationAxis.Coord(AngleId,1));',...
+ 'plot(KEDATA.Joint_Angle_Evolution(8,:)''*180/pi, KEDATA.Joint_Angle_Evolution(AngleId,:)''*180/pi, ''color'', ''red'', ''linewidth'', 2);',...
+ 'set(gca, ''XDir'', ''reverse'', ''xtick'', [], ''ytick'', [], ''box'', ''on'',''buttondownfcn'', KINEMATICS_TOOL_script_generator(''Clicked On'', AngleId));',...
+ 'title(MvtList{1, AngleId}, ''fontsize'', 9, ''fontweight'', ''bold'', ''fontname'', ''sansserif'');',...
+ 'xlim([min(KEDATA.Joint_Angle_Evolution(8,:)''*180/pi), max(KEDATA.Joint_Angle_Evolution(8,:)''*180/pi)]);',...
+ 'end;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Build the Kinematics
+% Builds the kinematics (velocity & acceleration)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Build Kinematics 2')
+ CBScript = 'KINEMATICS_TOOL_reconstruction_main_file;';
+%--------------------------------------------------------------------------
+% Task 3 : Update UI Controls
+% Updates the edit boxes when they are changed.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update UIcontrols')
+ CBScript = 'KEDATA = KINEMATICS_TOOL_update_uicontrols(KEDATA, KGUIHandle);';
+
+%--------------------------------------------------------------------------
+% Task 4 : View Motion
+%--------------------------------------------------------------------------
+elseif isequal(task, 'View Motion')
+ CBScript = 'KINEMATICS_TOOL_view_motion_script;';
+
+%--------------------------------------------------------------------------
+% Task 5.1 : Menu Functions I
+% Menu function for updating the polynomial orders (only one coordinate)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions I')
+ CoordId = varargin{1,1};
+ OrderId = varargin{1,2};
+
+ CBScript = [...
+ 'KGUIHandle = KINEMATICS_TOOL_menu_functions(''Change Order'', KGUIHandle,',...
+ num2str(CoordId), ',',...
+ num2str(OrderId), ');'];
+%--------------------------------------------------------------------------
+% Task 5.2 : Menu Functions II
+% Menu function for updating the polynomial orders (all coordinates)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions II')
+ CoordId = varargin{1,1};
+ OrderId = varargin{1,2};
+
+ CBScript = [...
+ 'KGUIHandle = KINEMATICS_TOOL_menu_functions(''Change All Order'', KGUIHandle,',...
+ num2str(CoordId), ',',...
+ num2str(OrderId), ');'];
+%--------------------------------------------------------------------------
+% Task 6 : Graph was clicked on
+% Runs a script when one of the joint angle graphs is clicked on.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Clicked On')
+ AngleId = varargin{1,1};
+
+ CBScript = [...
+ 'AngleId = ', num2str(AngleId), ';',...
+ 'KINEMATICS_TOOL_view_kinematics_script;'];
+
+%--------------------------------------------------------------------------
+% Task 7 : Help
+% Displays a description message in the command window when the GUI help
+% menu is clicked on.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''--------------------- KINEMATICS TOOL ------------------------- \n'', ',...
+ ' ''This interface for building the shoulder models kinematics.\n'',',...
+ ' ''Each coordinate can be built using a polynomial method.\n'',',...
+ ' ''The coordinates are the minimal coordinates. The first coordinate is the\n'',',...
+ ' ''clavicular axial rotation. The second and third coordinates are the parametric\n'',',...
+ ' ''coordinates of the point AI moving on its ellipsoid. M2 inceasing means rotation\n'',',...
+ ' ''forwards around the ellipsoid. M3 increasing means rotation downwards. M4 is the\n'', ',...
+ ' ''TS coordinate. This coordinate indicates where on the sphere-ellipsoid intersection\n'', ',...
+ ' ''the point TS is located. The next three coordinates are the GH joint coordinates.\n'', ',...
+ ' ''The two last coordinates are the rotations of ulna and radius, respectively.'']);',...
+ 'disp(ans);'];
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid. ',...
+ 'KINEMATICS_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Kinematics Tool,\n',....
+ '2) Build Kinematics,\n',...
+ '3) Update UIcontrols,\n',...
+ '4) View Motion,\n',...
+ '5.1) Menu Functions I,\n',...
+ '5.2) Menu Functions II,\n',...
+ '6) Clicked On,\n',...
+ '7) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_three_sphere_intersect.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_three_sphere_intersect.m
new file mode 100755
index 0000000..75aeb58
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_three_sphere_intersect.m
@@ -0,0 +1,139 @@
+function PP = KINEMATICS_TOOL_three_sphere_intersect(O1, O2, O3, r1, r2, r3)
+% Function for computing the intersection between three spheres.
+%--------------------------------------------------------------------------
+% Syntax :
+% PP = KINEMATICS_TOOL_three_sphere_intersect(O1, O2, O3, r1, r2, r3)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the intersection between three spheres given their
+% centres and their radii. Three cases are used to avoid divide by zero.
+%
+%--------------------------------------------------------------------------
+
+% Initialize the Output
+P1 = [];
+P2 = [];
+
+% Get the Center Coordinates
+a = O1(1,1); b = O1(2,1); c = O1(3,1);
+d = O2(1,1); e = O2(2,1); f = O2(3,1);
+g = O3(1,1); h = O3(2,1); j = O3(3,1);
+
+% Constants
+a1 = 2*(d-a); b1 = 2*(e-b); c1 = 2*(f-c); d1 = r2^2 - r1^2 + norm(O1)^2 - norm(O2)^2;
+a2 = 2*(g-a); b2 = 2*(h-b); c2 = 2*(j-c); d2 = r3^2 - r1^2 + norm(O1)^2 - norm(O3)^2;
+
+Am = [a1, b1; a2, b2];
+Bm = [a1, c1; a2, c2];
+Cm = [b1, c1; b2, c2];
+
+[v, idx] = max([abs(det(Am)), abs(det(Bm)), abs(det(Cm))]);
+
+if idx == 1
+ K1 = (b1*d2 - b2*d1)/det(Am);
+ K2 = (b1*c2 - b2*c1)/det(Am);
+ K3 = (a2*d1 - a1*d2)/det(Am);
+ K4 = (a2*c1 - a1*c2)/det(Am);
+
+ p1 = K2^2 + K4^2 + 1;
+ p2 = 2*(K1*K2 - a*K2 + K3*K4 - b*K4 - c);
+ p3 = (K1^2 + K3^2 + a^2 + b^2 + c^2 - r1^2 - 2*a*K1 - 2*b*K3);
+
+ % Test the existence of the intersection
+ if (p2^2 - 4*p1*p3) < 0
+ disp('H');
+ else
+
+ z1 = (-p2 + sqrt(p2^2 - 4*p1*p3))/(2*p1);
+ z2 = (-p2 - sqrt(p2^2 - 4*p1*p3))/(2*p1);
+
+ x1 = K1 + K2*z1;
+ x2 = K1 + K2*z2;
+
+ y1 = K3 + K4*z1;
+ y2 = K3 + K4*z2;
+
+ % Define the Output
+ if z1 > z2
+ P1 = [x1; y1; z1];
+ P2 = [x2; y2; z2];
+ else
+ P2 = [x1; y1; z1];
+ P1 = [x2; y2; z2];
+ end
+ end
+elseif idx == 2
+ K1 = (c1*d2 - c2*d1)/det(Bm);
+ K2 = (c1*b2 - c2*b1)/det(Bm);
+ K3 = (a2*d1 - a1*d2)/det(Bm);
+ K4 = (a2*b1 - a1*b2)/det(Bm);
+
+ p1 = K2^2 + K4^2 + 1;
+ p2 = 2*(K1*K2 - a*K2 + K3*K4 - c*K4 - b);
+ p3 = (K1^2 + K3^2 + a^2 + b^2 + c^2 - r1^2 - 2*a*K1 - 2*c*K3);
+
+ % Test the existence of the intersection
+ if (p2^2 - 4*p1*p3) < 0
+ disp('H');
+ else
+
+ y1 = (-p2 + sqrt(p2^2 - 4*p1*p3))/(2*p1);
+ y2 = (-p2 - sqrt(p2^2 - 4*p1*p3))/(2*p1);
+
+ x1 = K1 + K2*y1;
+ x2 = K1 + K2*y2;
+
+ z1 = K3 + K4*y1;
+ z2 = K3 + K4*y2;
+
+ % Define the Output
+ if y1 > y2
+ P1 = [x1; y1; z1];
+ P2 = [x2; y2; z2];
+ else
+ P2 = [x1; y1; z1];
+ P1 = [x2; y2; z2];
+ end
+ end
+elseif idx == 3
+ K1 = (c1*d2 - c2*d1)/det(Cm);
+ K2 = (c1*a2 - c2*a1)/det(Cm);
+ K3 = (b2*d1 - b1*d2)/det(Cm);
+ K4 = (b2*a1 - b1*a2)/det(Cm);
+
+ p1 = K2^2 + K4^2 + 1;
+ p2 = 2*(K1*K2 - b*K2 + K3*K4 - c*K4 - a);
+ p3 = (K1^2 + K3^2 + a^2 + b^2 + c^2 - r1^2 - 2*b*K1 - 2*c*K3);
+
+ % Test the existence of the intersection
+ if (p2^2 - 4*p1*p3) < 0
+ disp('H');
+ else
+
+ x1 = (-p2 + sqrt(p2^2 - 4*p1*p3))/(2*p1);
+ x2 = (-p2 - sqrt(p2^2 - 4*p1*p3))/(2*p1);
+
+ y1 = K1 + K2*x1;
+ y2 = K1 + K2*x2;
+
+ z1 = K3 + K4*x1;
+ z2 = K3 + K4*x2;
+
+ % Define the Output
+ if x1 > x2
+ P1 = [x1; y1; z1];
+ P2 = [x2; y2; z2];
+ else
+ P2 = [x1; y1; z1];
+ P1 = [x2; y2; z2];
+ end
+ end
+end
+% Set the output
+PP = [P1, P2];
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_tracking_cost.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_tracking_cost.m
new file mode 100755
index 0000000..fa96a38
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_tracking_cost.m
@@ -0,0 +1,117 @@
+function [tracking_cost, thorax_error, clavicle_error, scapula_error, humerus_error, ulna_error, radius_error] = KINEMATICS_TOOL_tracking_cost(i, q, SSDATA, BLDATA)
+%{
+Function for building the IK cost function (tracking cost).
+--------------------------------------------------------------------------
+Syntax
+outpus = KINEMATICS_TOOL_tracking_cost(i, q, SSDATA, BLDATA)
+--------------------------------------------------------------------------
+File Description :
+This file builds the inverse kinematics cost function. This function can be
+called as the tracking cost as it defines the eculidean difference between
+the positions of the measured markers and the model defined markers. It's a
+function of generalized coordinates that are going to be defined using IK
+such that this cost function is minimized.
+First we define the forward kinematics map, and then we build the error and
+then the tracking cost.
+--------------------------------------------------------------------------
+%}
+
+%--------------------------------------------------------------------------
+% define the landmarks using the forward kinematics map
+%--------------------------------------------------------------------------
+% 1) define the rotation matrices from the generalized coordinates vector (Euler angles)
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q, BLDATA);
+ Rc = Rmat(:,1:3);
+ Rs = Rmat(:,4:6);
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+% 2) Get Initial Rotation Matrices
+Rc_initial = BLDATA.Initial_Matrices_L2A.Rc;
+Rs_initial = BLDATA.Initial_Matrices_L2A.Rs;
+Rh_initial = BLDATA.Initial_Matrices_L2A.Rh;
+Ru_initial = BLDATA.Initial_Matrices_L2A.Ru;
+Rr_initial = BLDATA.Initial_Matrices_L2A.Rr;
+
+% 3) Get all initial configurations of the landmarks
+IJ_initial = BLDATA.Initial_Points.IJ;
+PX_initial = BLDATA.Initial_Points.PX;
+T8_initial = BLDATA.Initial_Points.T8;
+C7_initial = BLDATA.Initial_Points.C7;
+SC_initial = BLDATA.Initial_Points.SC;
+AC_initial = BLDATA.Initial_Points.AC;
+AA_initial = BLDATA.Initial_Points.AA;
+TS_initial = BLDATA.Initial_Points.TS;
+AI_initial = BLDATA.Initial_Points.AI;
+GH_initial = BLDATA.Initial_Points.GH;
+HU_initial = BLDATA.Initial_Points.HU;
+EL_initial = BLDATA.Initial_Points.EL;
+EM_initial = BLDATA.Initial_Points.EM;
+CP_initial = BLDATA.Initial_Points.CP;
+US_initial = BLDATA.Initial_Points.US;
+RS_initial = BLDATA.Initial_Points.RS;
+
+% 4) define the configurations of the landmarks
+IJ = IJ_initial;
+PX = PX_initial;
+T8 = T8_initial;
+C7 = C7_initial;
+SC = SC_initial;
+AC = Rc*Rc_initial'*(AC_initial - SC_initial) + SC_initial;
+AA = Rs*Rs_initial'*(AA_initial - AC_initial) + AC;
+TS = Rs*Rs_initial'*(TS_initial - AC_initial) + AC;
+AI = Rs*Rs_initial'*(AI_initial - AC_initial) + AC;
+GH = Rs*Rs_initial'*(GH_initial - AC_initial) + AC;
+HU = Rh*Rh_initial'*(HU_initial - GH_initial) + GH;
+EL = Rh*Rh_initial'*(EL_initial - GH_initial) + GH;
+EM = Rh*Rh_initial'*(EM_initial - GH_initial) + GH;
+US = Ru*Ru_initial'*(US_initial - HU_initial) + HU;
+CP = Rh*Rh_initial'*(CP_initial - GH_initial) + GH;
+RS = Rr*Rr_initial'*(RS_initial - CP_initial) + CP;
+
+%--------------------------------------------------------------------------
+% provide the measured landmarks including those were estimated using the
+% Estimate Missing Landmarks
+%--------------------------------------------------------------------------
+IJ_m = SSDATA.Measured_Kinematics.IJ(:,i);
+PX_m = SSDATA.Measured_Kinematics.PX(:,i);
+T8_m = SSDATA.Measured_Kinematics.T8(:,i);
+C7_m = SSDATA.Measured_Kinematics.C7(:,i);
+SC_m = SSDATA.Measured_Kinematics.SC(:,i);
+AC_m = SSDATA.Measured_Kinematics.AC(:,i);
+AA_m = SSDATA.Measured_Kinematics.AA(:,i);
+TS_m = SSDATA.Measured_Kinematics.TS(:,i);
+AI_m = SSDATA.Measured_Kinematics.AI(:,i);
+GH_m = SSDATA.Measured_Kinematics.GH(:,i);
+HU_m = SSDATA.Measured_Kinematics.HU(:,i);
+EL_m = SSDATA.Measured_Kinematics.EL(:,i);
+EM_m = SSDATA.Measured_Kinematics.EM(:,i);
+US_m = SSDATA.Measured_Kinematics.US(:,i);
+CP_m = SSDATA.Measured_Kinematics.CP(:,i);
+RS_m = SSDATA.Measured_Kinematics.RS(:,i);
+
+%--------------------------------------------------------------------------
+% define the error
+%--------------------------------------------------------------------------
+% global tracking error over the whole upper arm extremity
+tracking_error = [IJ-IJ_m; PX-PX_m; T8-T8_m; C7-C7_m; SC-SC_m; AC-AC_m;...
+ AA-AA_m; TS-TS_m; AI-AI_m; GH-GH_m; EM-EM_m; EL-EL_m;...
+ HU-HU_m; CP-CP_m; US-US_m; RS-RS_m];
+%--------------------------------------------------------------------------
+% define the tracking cost (IK cost function)
+%--------------------------------------------------------------------------
+% global tracking cost
+tracking_cost = tracking_error'*tracking_error;
+
+% tracking costs associated with each of the segments
+thorax_error = tracking_error(1:12,1)'*tracking_error(1:12,1);
+clavicle_error = tracking_error(13:18,1)'*tracking_error(13:18,1);
+scapula_error = tracking_error(19:27,1)'*tracking_error(19:27,1);
+humerus_error = tracking_error(28:42,1)'*tracking_error(28:42,1);
+ulna_error = tracking_error([31:33,43:45],1)'*tracking_error([31:33,43:45],1);
+radius_error = tracking_error([34:36,46:48],1)'*tracking_error([34:36,46:48],1);
+
+return
+
+
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_two_sphere_intersect.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_two_sphere_intersect.m
new file mode 100755
index 0000000..1997e0d
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_two_sphere_intersect.m
@@ -0,0 +1,156 @@
+function [CS_point_in_T, r, H_PS2T] = KINEMATICS_TOOL_two_sphere_intersect(center1, center2, initial_configuration)
+
+%{
+Function for defining the intersection of the two spheres centered at center1
+and center2 with a common point as common_point (GH point) that defines the
+radii of the spheres.
+--------------------------------------------------------------------------
+Syntax :
+[CS_point_in_T, r, H_PS2T] = KINEMATICS_TOOL_two_sphere_intersect(center1, center2, initial_configuration)
+--------------------------------------------------------------------------
+Function Description :
+This function defines the conic section resulted from the intersection of
+two spheres. This intersection curve is defined using the methods developed
+to address the quadric surfaces intersection. The intersection of two
+spheres is relatively easier than the general case of the intersection of
+two arbitrary quadric surfaces. The resulted conic section is contained in
+a surface. Therefore, the intersection is called planar.
+
+Ref: Joshua Zev Levin, 1978, Mathematical Models for Determining the
+ Intersections of Quadric Surfaces.
+
+The function provides the coordinates of the points on the intersection
+curve (conic section). These points are in inertial (thorax) coordinate as
+the inputted points are in this frame.
+The outputs are as the following:
+ CS_point_in_T intersection points (conic section) in the intertia (thorax) frame
+ r radius of the conic section
+ H_PS2T humugenous transformation matrix that includes the origin (center of the conic section) and the axes of the parametrization plane
+--------------------------------------------------------------------------
+%}
+% define the spheres in the discriminant forms
+radius1 = norm(initial_configuration(:,1) - initial_configuration(:,3)); % initial_configuration = [initial_center1, initial_center2, initial_common_point]
+radius2 = norm(initial_configuration(:,2) - initial_configuration(:,3));
+
+% radius1 = initial_configuration(1,1);
+% radius2 = initial_configuration(1,2);
+
+ % discriminant matrix of the first sphere
+Q_1 = [1 0 0 -center1(1);
+ 0 1 0 -center1(2);
+ 0 0 1 -center1(3);
+ -center1(1) -center1(2) -center1(3) (norm(center1))^2 - (radius1)^2];
+ % discriminant matrix of GF sphere
+Q_2 = [1 0 0 -center2(1);
+ 0 1 0 -center2(2);
+ 0 0 1 -center2(3);
+ -center2(1) -center2(2) -center2(3) (norm(center2))^2 - (radius2)^2];
+%-------------------------------------------------------------------------
+% define the PARAs in the pencil of the two spheres.
+% The general approach is construct the pencil and find the values alpha
+% that makes the determinant of the pencil equal to zero.
+% % syms lambda;
+% %
+% % Pencil = Q_1(1:3,1:3) + lambda*Q_2(1:3,1:3);
+% %
+% % alpha = solve(det(Pencil) == 0, lambda);
+alpha = [-1 -1 -1]';
+% As the subdiscriminant matrix of the two spheres are
+% equal to I, we could have also used the eig command.
+% alpha = -eig(Q_GF(1:3,1:3));
+
+% define the discriminant of the parametrization surface (PS)
+% note: the PS is one of the PARAs in the pencil that is more amendable to
+% parametrization. Here it makes no difference if one choses any of the
+% three elements of alpha so we choose alpha(1):
+Q_PS = Q_1 + alpha(1)*Q_2;
+% d = Q_PS(4,4); % n(1)x + n(2)y + n(3)z + d = 0, not needed anymore
+%-------------------------------------------------------------------------
+
+% define the transformation that transforms the parametrization surface
+% resulted above to the u-v surface of the u-v-w frame (the frame attached
+% to the parametrization surface).
+ % 1- rotation matrix
+n = [2*Q_PS(4,1) 2*Q_PS(4,2) 2*Q_PS(4,3)]'; % normal vector of the parametrization surface
+
+w = n/norm(n); % the w vector of the frame fixed to the PS
+
+if isequal(w,[0 0 1]')
+ u = [1 0 0]';
+ v = [0 1 0]';
+elseif isequal(w,[0 0 -1]')
+ u = [1 0 0]';
+ v = [0 -1 0]';
+else
+u = cross(n, [0 0 1]'); u = u/norm(u); % the u vector of the frame fixed to the PS
+ % defined regarding the Z axis of the thorax frame
+v = cross(n, u); v = v/norm(v); % the v vector of the frame fixed to the PS
+ % defined regarding the Z axis of the thorax frame
+end
+
+R_PS2T = [u v w]; % rotation matrix from the PS frame to the thorax (inertia) frame
+ % local -----> global
+
+ % 2- center of the PS frame
+% the center is considered as the point of the intersection of PS and the
+% line goes through one of the centers in the direction of the normal
+% vector of PS
+t = -(dot(n,center1) + Q_PS(4,4))/((norm(n))^2); % t of the contact point
+
+O_PS = [n(1)*t+center1(1) n(2)*t+center1(2) n(3)*t+center1(3)]'; % the origin of the PS fixed frame
+
+% define the homogeneous transformation from PS to thorax (or maybe later on glenoid)
+H_PS2T = [R_PS2T(1,:) O_PS(1);
+ R_PS2T(2,:) O_PS(2);
+ R_PS2T(3,:) O_PS(3);
+ zeros(1,3) 1];
+%-------------------------------------------------------------------------
+
+% define the discriminant matrix of the PS in the u-v-w frame:
+% Q_PS_in_uvw = H_PS2T'*Q_PS*H_PS2T;
+
+% transform any surface in the pencil to the u-v-w frame
+% for the sake of simplicity Q_1 is choosen
+Q_1_in_uvw = H_PS2T'*Q_1*H_PS2T;
+
+% the QSIC is achieved by imposing the w coordinate of the quadric surface
+% above equal to zero, meaning that we are only looking for those points on
+% this quadric surface that are contained in the parametrization surface.
+Q_CS_in_uvw = [Q_1_in_uvw(1,[1:2,4]);
+ Q_1_in_uvw(2,[1:2,4]);
+ Q_1_in_uvw(4,[1:2,4])];% the discriminant matrix of the conic section in the u-v-w frame
+
+% define the numerical values of the points of the resulted conic
+% section in the u-v-w frame
+% Note: we should have further transform the resulted conic section to its
+% canonical form. But, given that the underquestion problem is far simpler
+% than the general case, we expect to have it right away in the canonical
+% form.
+discritization_CS = 80;
+t_PS = linspace(0,2*pi,discritization_CS); % the canonical parametrization variable from 0 to 2pi
+CS_point_in_uvw = [sqrt(abs(Q_CS_in_uvw(3,3)))*cos(t_PS);
+ sqrt(abs(Q_CS_in_uvw(3,3)))*sin(t_PS);
+ zeros(1,discritization_CS);
+ ones(1,discritization_CS)];
+
+r = sqrt(abs(Q_CS_in_uvw(3,3))); % radius of the conic section
+
+% define the numerical values of the points of the resulted conic
+% section in the thorax frame
+CS_point_in_T = H_PS2T*CS_point_in_uvw; % intersection points in the thorax frame
+
+% define the numerical values of the points of the resulted conic
+% section in the humeral frame
+% Rot_T2H = Rot_H2T';
+% translation = -Rot_T2H*r_HH;
+% H_T2H = [Rot_T2H(1,:) translation(1);
+% Rot_T2H(2,:) translation(2);
+% Rot_T2H(3,:) translation(3);
+% zeros(1,3) 1];
+
+% CS_point_in_H = H_T2H*CS_point_in_T; % intersection points in the humeral frame
+
+
+return;
+
+
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_update_uicontrols.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_update_uicontrols.m
new file mode 100755
index 0000000..085c8e2
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_update_uicontrols.m
@@ -0,0 +1,61 @@
+function KEDATA = KINEMATICS_TOOL_update_uicontrols(KEDATAin, KGUIHandle)
+% Function for updating kinematic parameters in the kinematics GUI.
+%--------------------------------------------------------------------------
+% Syntax
+% KEDATA = KINEMATICS_TOOL_update_uicontrols(KEDATAin, KGUIHandle)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function updates the kinematic data structure from the kinematics
+% GUI.
+%--------------------------------------------------------------------------
+% Initialise the output
+KEDATA = KEDATAin;
+
+KEDATA.NbPoints = str2double(get(KGUIHandle.MinCord.NbPointsEdit, 'string'));
+
+% Get the initial values
+KEDATA.Initial_Minimal_Coordinate(1,1) = str2double(get(KGUIHandle.MinCord.M1ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(2,1) = str2double(get(KGUIHandle.MinCord.M2ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(3,1) = str2double(get(KGUIHandle.MinCord.M3ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(4,1) = str2double(get(KGUIHandle.MinCord.M4ValueI, 'string'));
+KEDATA.Initial_Minimal_Coordinate(5,1) = str2double(get(KGUIHandle.MinCord.M5ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(6,1) = str2double(get(KGUIHandle.MinCord.M6ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(7,1) = str2double(get(KGUIHandle.MinCord.M7ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(8,1) = str2double(get(KGUIHandle.MinCord.M8ValueI, 'string'))*pi/180;
+KEDATA.Initial_Minimal_Coordinate(9,1) = str2double(get(KGUIHandle.MinCord.M9ValueI, 'string'))*pi/180;
+
+% Get the final values
+KEDATA.Final_Minimal_Coordinate(1,1) = str2double(get(KGUIHandle.MinCord.M1ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(2,1) = str2double(get(KGUIHandle.MinCord.M2ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(3,1) = str2double(get(KGUIHandle.MinCord.M3ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(4,1) = str2double(get(KGUIHandle.MinCord.M4ValueT, 'string'));
+KEDATA.Final_Minimal_Coordinate(5,1) = str2double(get(KGUIHandle.MinCord.M5ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(6,1) = str2double(get(KGUIHandle.MinCord.M6ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(7,1) = str2double(get(KGUIHandle.MinCord.M7ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(8,1) = str2double(get(KGUIHandle.MinCord.M8ValueT, 'string'))*pi/180;
+KEDATA.Final_Minimal_Coordinate(9,1) = str2double(get(KGUIHandle.MinCord.M9ValueT, 'string'))*pi/180;
+
+% Get the Polynomial orders
+STR = {'3'; '5'; '7'; '9'};
+for CoordId = 1:9
+ for OrderId = 1:4
+ % Get the current state
+ state = get(KGUIHandle.Polynomial_Order_Menu.Options(CoordId, OrderId+1), 'Checked');
+ if isequal(state, 'on')
+ KEDATA.Order(CoordId,1) = str2double(STR{OrderId,1});
+ end
+ end
+end
+% Get the Derivative Initial & Final Conditions
+eval(['KEDATA.DerCond(1,:) = ', get(KGUIHandle.MinCord.M1DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(2,:) = ', get(KGUIHandle.MinCord.M2DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(3,:) = ', get(KGUIHandle.MinCord.M3DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(4,:) = ', get(KGUIHandle.MinCord.M4DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(5,:) = ', get(KGUIHandle.MinCord.M5DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(6,:) = ', get(KGUIHandle.MinCord.M6DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(7,:) = ', get(KGUIHandle.MinCord.M7DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(8,:) = ', get(KGUIHandle.MinCord.M8DerivCondEdit, 'string'), ';']);
+eval(['KEDATA.DerCond(9,:) = ', get(KGUIHandle.MinCord.M9DerivCondEdit, 'string'), ';']);
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_v_of_u.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_v_of_u.m
new file mode 100755
index 0000000..260eb43
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_v_of_u.m
@@ -0,0 +1,99 @@
+function Vval = KINEMATICS_TOOL_v_of_u(RSDATA, u)
+% Function for computing the v's associated to the u for the ruled surface
+%--------------------------------------------------------------------------
+% Syntax
+% Vval = KINEMATICS_TOOL_v_of_u(RSDATA, u)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the two values of v for a given value of u for the
+% ruled surface resulting from the sphere-ellipsoid intersection.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+Vval.vp = 0;
+Vval.vn = 0;
+
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic-Cylinder
+%--------------------------------------------------------------------------
+if isequal(RSDATA.Type, 'Hyperbolic-Cylinder')
+ % Get the normalised quadric data
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+
+ S = RSDATA.S;
+ pu = [];
+
+ % Use the correct parameterisation
+ if RSDATA.ParamType == 1
+ pu = [a*cosh(u)+x0; b*sinh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 1
+ pu = [-a*cosh(u)+x0; b*sinh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 3
+ pu = [a*sinh(u)+x0; b*cosh(u)+y0; 0; 1];
+ elseif RSDATA.ParamType == 4
+ pu = [a*sinh(u)+x0; -b*cosh(u)+y0; 0; 1];
+ end
+ qu = [0; 0; 1; 0];
+
+ % Construct the polynomial coefficients
+ p0 = pu'*S*pu;
+ p1 = 2*pu'*S*qu;
+ p2 = qu'*S*qu;
+
+ % Compute the values of v
+ Vval.vp = -p1/(2*p2) + sqrt(abs(p1^2 - 4*p0*p2))/(2*p2);
+ Vval.vn = -p1/(2*p2) - sqrt(abs(p1^2 - 4*p0*p2))/(2*p2);
+
+ % Allways set the smaller value of v as vp
+ if Vval.vp < Vval.vn;
+ vn = Vval.vp;
+ vp = Vval.vn;
+ Vval.vp = vp;
+ Vval.vn = vn;
+ end
+
+%--------------------------------------------------------------------------
+% The Quadric is a Hyperbolic Paraboloid
+%--------------------------------------------------------------------------
+elseif isequal(RSDATA.Type, 'Hyperbolic Paraboloid')
+ % Get the normalised quadric data
+ a = RSDATA.NPa;
+ b = RSDATA.NPb;
+ c = RSDATA.NPc;
+ ss = sign(RSDATA.Coef(3));
+ x0 = RSDATA.Centre(1);
+ y0 = RSDATA.Centre(2);
+ z0 = RSDATA.Centre(3);
+ S = RSDATA.S;
+
+ % Build the parameterisation
+ pu = [a*u/c+x0; b*u/c+y0; z0; 1];
+ qu = [-ss*a/c; ss*b/c; 4*u; 0];
+
+ % Construct the polynomial coefficients
+ p0 = pu'*S*pu;
+ p1 = 2*pu'*S*qu;
+ p2 = qu'*S*qu;
+
+ % Compute the values of v
+ Vval.vp = -p1/(2*p2) + sqrt(abs(p1^2 - 4*p0*p2))/(2*p2);
+ Vval.vn = -p1/(2*p2) - sqrt(abs(p1^2 - 4*p0*p2))/(2*p2);
+
+ % Allways set the smaller value of v as vp
+ if Vval.vp < Vval.vn;
+ vn = Vval.vp;
+ vp = Vval.vn;
+ Vval.vp = vp;
+ Vval.vn = vn;
+ end
+else
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_kinematics_script.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_kinematics_script.m
new file mode 100755
index 0000000..e106038
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_kinematics_script.m
@@ -0,0 +1,62 @@
+%
+%
+% File Description :
+% This script is run when a graph in the main kinematics GUI is clicked on.
+%
+%--------------------------------------------------------------------------
+% List of joint angles to be used as titles
+MvtList = {...
+ 'Clavicula Axial Rotation',...
+ 'Clavicula Depression (-) / Elevation (+)',...
+ 'Clavicula Retraction (-) / Protraction (+)',...
+ 'Scapula External Tilt(-)/ Internal Tilt (+)',...
+ 'Scapula Depression (-) / Elevation (+)',...
+ 'Scapula Retraction (-) / Protraction (+)',...
+ 'Humerus Axial Rotation',...
+ 'Humerus Adduction (-) / Abduction (+)',...
+ 'Humerus Elevation Plan: Posterior (-) / Anterior (+)',...
+ 'Ulna Extension (-) / Flexion (+)',...
+ 'Radius Supination (-) / Pronation (+)'};
+
+ % Compute the kinematics
+[jea, djeadt, d2jeadt2, xdata] = KINEMATICS_TOOL_compute_kinematics(AngleId, KEDATA);
+
+% Create a figure
+figure('color', 'white');
+% The angle plot
+subplot(3,1,1);
+plot(xdata, jea, 'linewidth', 2);
+set(gca, 'XDir', 'reverse', 'fontsize', 14);
+title([MvtList{1, AngleId},' [DEG]'],...
+ 'fontsize', 16,...
+ 'fontweight', 'bold',...
+ 'fontname', 'sansserif');
+ylabel('Angle [DEG]',...
+ 'fontsize', 16,...
+ 'fontweight', 'bold',...
+ 'fontname', 'sansserif');
+grid on;
+
+% The velocity plot
+subplot(3,1,2);
+plot(xdata(1,1:end-1), djeadt, 'linewidth', 2);
+set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ylabel('Velocity [DEG/s]',...
+ 'fontsize', 16,...
+ 'fontweight', 'bold',...
+ 'fontname', 'sansserif');
+grid on;
+
+% The acceleration plot
+subplot(3,1,3);
+plot(xdata(1,1:end-2), d2jeadt2, 'linewidth', 2);
+set(gca, 'XDir', 'reverse', 'fontsize', 14);
+grid on;
+ylabel('Acceleration [DEG/s^2]',...
+ 'fontsize', 16,...
+ 'fontweight', 'bold',...
+ 'fontname', 'sansserif');
+xlabel('Humeral Abduction [DEG]',...
+ 'fontsize', 16,...
+ 'fontweight', 'bold',...
+ 'fontname', 'sansserif');
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_motion_script.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_motion_script.m
new file mode 100755
index 0000000..f79e8e0
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_motion_script.m
@@ -0,0 +1,261 @@
+%--------------------------------------------------------------------------
+%
+%
+% GUI FOR RUNNING A VIDEO OF THE MOTION
+%--------------------------------------------------------------------------
+%
+% File Structure :
+% This script generates a small GUI of the motion.
+%
+%--------------------------------------------------------------------------
+
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+MOVHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model: Motion Visualization');
+
+%--------------------------------------------------------------------------
+% CREATE THE CLOSE & DELETE SCRIPT
+%--------------------------------------------------------------------------
+CScript = [...
+ 'clear MOVGUIHandle;',...
+ 'clear MOVPlotHandles;',...
+ 'clear MovieVisualisationAxes;',...
+ 'clear SC AC AA TS AI GH HU EL EM US CP RS;',...
+ 'clear Rc Rs Rh Ru Rr;',...
+ 'close gcf;',...
+ 'clear MOVHandle;',...
+ 'clear Rmat RScript;'];
+
+%--------------------------------------------------------------------------
+% CREATE THE CLOSE PUSHBUTTON
+%--------------------------------------------------------------------------
+MOVGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'CLOSE FIGURE',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', CScript);
+
+%--------------------------------------------------------------------------
+% CREATE THE RUN VIDEO CALLBACK SCRIPT
+%--------------------------------------------------------------------------
+RScript = [...
+ 'for i = 1:3:size(KEDATA.Point_Evolution.AI,2)',...
+ 'SC = KEDATA.Point_Evolution.SC(:,i);',...
+ 'AC = KEDATA.Point_Evolution.AC(:,i);',...
+ 'AA = KEDATA.Point_Evolution.AA(:,i);',...
+ 'TS = KEDATA.Point_Evolution.TS(:,i);',...
+ 'AI = KEDATA.Point_Evolution.AI(:,i);',...
+ 'GH = KEDATA.Point_Evolution.GH(:,i);',...
+ 'HU = KEDATA.Point_Evolution.HU(:,i);',...
+ 'EL = KEDATA.Point_Evolution.EL(:,i);',...
+ 'EM = KEDATA.Point_Evolution.EM(:,i);',...
+ 'US = KEDATA.Point_Evolution.US(:,i);',...
+ 'CP = KEDATA.Point_Evolution.CP(:,i);',...
+ 'RS = KEDATA.Point_Evolution.RS(:,i);',...
+ 'Rmat = MAIN_TOOL_geometry_functions(''Build Rotation Matrices From Euler Angles'', KEDATA.Joint_Angle_Evolution(:,i), BLDATA'');',...
+ 'Rc = Rmat(:,1:3);',...
+ 'Rs = Rmat(:,4:6);',...
+ 'Rh = Rmat(:,7:9);',...
+ 'Ru = Rmat(:,10:12);',...
+ 'Rr = Rmat(:,13:15);',...
+ 'BLDATA.Current_Points.IJ = BLDATA.Initial_Points.IJ;',...
+ 'BLDATA.Current_Points.PX = BLDATA.Initial_Points.PX;',...
+ 'BLDATA.Current_Points.T8 = BLDATA.Initial_Points.T8;',...
+ 'BLDATA.Current_Points.C7 = BLDATA.Initial_Points.C7;',...
+ 'BLDATA.Current_Points.SC = SC;',...
+ 'BLDATA.Current_Points.AC = AC;',...
+ 'BLDATA.Current_Points.GH = GH;',...
+ 'BLDATA.Current_Points.HU = HU;',...
+ 'BLDATA.Current_Points.TS = TS;',...
+ 'BLDATA.Current_Points.AI = AI;',...
+ 'BLDATA.Current_Points.AA = AA;',...
+ 'BLDATA.Current_Points.EL = EL;',...
+ 'BLDATA.Current_Points.EM = EM;',...
+ 'BLDATA.Current_Points.US = US;',...
+ 'BLDATA.Current_Points.CP = CP;',...
+ 'BLDATA.Current_Points.RS = RS;',...
+ 'BLDATA.Current_WFBones.Thorax = BLDATA.Initial_WFBones.Thorax;',...
+ 'BLDATA.Current_WFBones.Clavicula = [SC, AC];',...
+ 'BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];',...
+ 'BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];',...
+ 'BLDATA.Current_WFBones.Medial = [AC, AA, TS, AI];',...
+ 'BLDATA.Current_WFBones.Ulna = [CP, HU, EM, US];',...
+ 'BLDATA.Current_WFBones.Radius = [CP, RS];',...
+ 'BLDATA.Current_Matrices_L2A.Rc = Rc;',...
+ 'BLDATA.Current_Matrices_L2A.Rs = Rs;',...
+ 'BLDATA.Current_Matrices_L2A.Rh = Rh;',...
+ 'BLDATA.Current_Matrices_L2A.Ru = Ru;',...
+ 'BLDATA.Current_Matrices_L2A.Rr = Rr;',...
+ 'MOVPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(1), MEDATA, 0, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(2), MEDATA, 1, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(3), MEDATA, 2, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(4), MEDATA, 3, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(5), MEDATA, 4, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(6), MEDATA, 5, BLDATA);',...
+ 'MOVPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(7), MEDATA, 6, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(1), 0, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(2), 1, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(3), 2, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(4), 3, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(5), 4, BLDATA);',...
+ 'MOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(6), 5, BLDATA);',...
+ 'drawnow;',...
+ 'end'];
+
+%--------------------------------------------------------------------------
+% CREATE THE RUN VIDEO PUSHBUTTON
+%--------------------------------------------------------------------------
+MOVGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'REPLAY MOTION',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', RScript);
+
+%--------------------------------------------------------------------------
+% CREATE THE VIDEO AXES
+%--------------------------------------------------------------------------
+MovieVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.05, 0.05, 0.9, 0.9]);
+
+%--------------------------------------------------------------------------
+% INITIALISATION SCRIPT
+%--------------------------------------------------------------------------
+set(MOVHandle, 'currentaxes', MovieVisualisationAxes); hold on;
+
+% Set the correct current bony landmarks
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,1), BLDATA);
+BLDATA = MAIN_TOOL_geometry_functions('Update Initial Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+% Create the 3-D Meshing Visualisations
+MOVPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+MOVPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+MOVPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+MOVPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+MOVPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+MOVPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+MOVPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% Create the 3-D Wire Frame Visualisations
+MOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+MOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+MOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+MOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+MOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+MOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+% Set some of the global properties for the entire plot
+light('Position',[1 0 0],'Style','infinite');
+light('Position',[0 0 -10],'Style','local');
+light('Position',[10 -50 0],'Style','infinite');
+colormap copper;
+box on;
+material dull;
+%axis equal;
+axis ([-100 800 -200 800 -800 800])
+%zoom(1);
+view([165, 15]);
+
+% Run through the motion while skipping some points.
+% (This is a copy of the callback script defined above)
+for i = 1:3:size(KEDATA.Point_Evolution.AI,2)
+ % Build the Current Bony Landmark Positions
+ SC = KEDATA.Point_Evolution.SC(:,i);
+ AC = KEDATA.Point_Evolution.AC(:,i);
+ AA = KEDATA.Point_Evolution.AA(:,i);
+ TS = KEDATA.Point_Evolution.TS(:,i);
+ AI = KEDATA.Point_Evolution.AI(:,i);
+ GH = KEDATA.Point_Evolution.GH(:,i);
+ HU = KEDATA.Point_Evolution.HU(:,i);
+ EL = KEDATA.Point_Evolution.EL(:,i);
+ EM = KEDATA.Point_Evolution.EM(:,i);
+ US = KEDATA.Point_Evolution.US(:,i);
+ CP = KEDATA.Point_Evolution.CP(:,i);
+ RS = KEDATA.Point_Evolution.RS(:,i);
+
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,i)', BLDATA);
+ Rc = Rmat(:,1:3);
+ Rs = Rmat(:,4:6);
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+ % List of Points in the current configuration
+ BLDATA.Current_Points.IJ = BLDATA.Initial_Points.IJ;
+ BLDATA.Current_Points.PX = BLDATA.Initial_Points.PX;
+ BLDATA.Current_Points.T8 = BLDATA.Initial_Points.T8;
+ BLDATA.Current_Points.C7 = BLDATA.Initial_Points.C7;
+ BLDATA.Current_Points.SC = SC;
+ BLDATA.Current_Points.AC = AC;
+ BLDATA.Current_Points.GH = GH;
+ BLDATA.Current_Points.HU = HU;
+ BLDATA.Current_Points.TS = TS;
+ BLDATA.Current_Points.AI = AI;
+ BLDATA.Current_Points.AA = AA;
+ BLDATA.Current_Points.EL = EL;
+ BLDATA.Current_Points.EM = EM;
+ BLDATA.Current_Points.US = US;
+ BLDATA.Current_Points.CP = CP;
+ BLDATA.Current_Points.RS = RS;
+
+ % Build the bone wire frames for plotting purposes
+ BLDATA.Current_WFBones.Thorax = BLDATA.Initial_WFBones.Thorax;
+ BLDATA.Current_WFBones.Clavicula = [SC, AC];
+ BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+ BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+ BLDATA.Current_WFBones.Medial = [AC, AA, TS, AI];
+ BLDATA.Current_WFBones.Ulna = [CP, HU, EM, US];
+ BLDATA.Current_WFBones.Radius = [CP, RS];
+
+ % Current Rotation Matrices
+ BLDATA.Current_Matrices_L2A.Rc = Rc;
+ BLDATA.Current_Matrices_L2A.Rs = Rs;
+ BLDATA.Current_Matrices_L2A.Rh = Rh;
+ BLDATA.Current_Matrices_L2A.Ru = Ru;
+ BLDATA.Current_Matrices_L2A.Rr = Rr;
+
+ MOVPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(1), MEDATA, 0, BLDATA);
+ MOVPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(2), MEDATA, 1, BLDATA);
+ MOVPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(3), MEDATA, 2, BLDATA);
+ MOVPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(4), MEDATA, 3, BLDATA);
+ MOVPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(5), MEDATA, 4, BLDATA);
+ MOVPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(6), MEDATA, 5, BLDATA);
+ MOVPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing(MOVPlotHandles.MeshHandle(7), MEDATA, 6, BLDATA);
+
+
+ % Create the 3-D Wire Frame Visualisations
+ MOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(1), 0, BLDATA);
+ MOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(2), 1, BLDATA);
+ MOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(3), 2, BLDATA);
+ MOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(4), 3, BLDATA);
+ MOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(5), 4, BLDATA);
+ MOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe(MOVPlotHandles.WireFrameHandle(6), 5, BLDATA);
+
+ drawnow;
+end
+
+% Clear some variables
+clear SC AC AA TS AI GH HU EL EM US RS CP Rmat Rc Rs Rh Ru Rr;
+
+% When Motion is over, reset the current BLDATA to initial
+% Get the Current Rotation Matrices
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,1), BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+clear Rmat i;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed-motion.m~ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed-motion.m~
new file mode 100755
index 0000000..3695714
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed-motion.m~
@@ -0,0 +1,131 @@
+%{
+--------------------------------------------------------------------------
+ SCRIPT FOR RUNNING A VIDEO OF THE RECONSTRUCTED MOTION TOGETHER WITH THE
+ MEASURED MOTION (IN BLUE AND GREEN)
+--------------------------------------------------------------------------
+
+%}
+
+%--------------------------------------------------------------------------
+% define where to show the motion
+%--------------------------------------------------------------------------
+set(KRHandle, 'currentaxes', KRPlotHandles.View_Motion_Axes); hold on;
+
+%--------------------------------------------------------------------------
+% define the bony landmarks
+%--------------------------------------------------------------------------
+% run through the motion while skipping some points.
+for i = 1:length(SSDATA.Measured_Kinematics.IJ)
+
+ %--------------------------------------------------------------------------
+ % define the wireframe of the reconstructed motion
+ %--------------------------------------------------------------------------
+ % define the generalized coordinate vector
+ q = SSDATA.Joint_Angle_Reconstruction(:,i);
+
+ % define the rotation matrices from the generalized coordinates vector (Euler angles)
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q, BLDATA);
+ Rc = Rmat(:,1:3);
+ Rs = Rmat(:,4:6);
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+ % Get Initial Rotation Matrices
+ Rc_initial = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs_initial = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh_initial = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru_initial = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr_initial = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get all initial configurations of the landmarks
+ IJ_initial = BLDATA.Initial_Points.IJ;
+ PX_initial = BLDATA.Initial_Points.PX;
+ T8_initial = BLDATA.Initial_Points.T8;
+ C7_initial = BLDATA.Initial_Points.C7;
+ SC_initial = BLDATA.Initial_Points.SC;
+ AC_initial = BLDATA.Initial_Points.AC;
+ AA_initial = BLDATA.Initial_Points.AA;
+ TS_initial = BLDATA.Initial_Points.TS;
+ AI_initial = BLDATA.Initial_Points.AI;
+ GH_initial = BLDATA.Initial_Points.GH;
+ HU_initial = BLDATA.Initial_Points.HU;
+ EL_initial = BLDATA.Initial_Points.EL;
+ EM_initial = BLDATA.Initial_Points.EM;
+ CP_initial = BLDATA.Initial_Points.CP;
+ US_initial = BLDATA.Initial_Points.US;
+ RS_initial = BLDATA.Initial_Points.RS;
+
+ % define the configurations of the landmarks
+ IJ = IJ_initial;
+ PX = PX_initial;
+ T8 = T8_initial;
+ C7 = C7_initial;
+ SC = SC_initial;
+ AC = Rc*Rc_initial'*(AC_initial - SC_initial) + SC_initial;
+ AA = Rs*Rs_initial'*(AA_initial - AC_initial) + AC;
+ TS = Rs*Rs_initial'*(TS_initial - AC_initial) + AC;
+ AI = Rs*Rs_initial'*(AI_initial - AC_initial) + AC;
+ GH = Rs*Rs_initial'*(GH_initial - AC_initial) + AC;
+ HU = Rh*Rh_initial'*(HU_initial - GH_initial) + GH;
+ EL = Rh*Rh_initial'*(EL_initial - GH_initial) + GH;
+ EM = Rh*Rh_initial'*(EM_initial - GH_initial) + GH;
+ US = Ru*Ru_initial'*(US_initial - HU_initial) + HU;
+ CP = Rh*Rh_initial'*(CP_initial - GH_initial) + GH;
+ RS = Rr*Rr_initial'*(RS_initial - CP_initial) + CP;
+
+ % Build the bone wire frames for plotting purposes
+ Reconstructed_WF_Thorax_ = [IJ, PX, T8, C7, IJ];
+ Reconstructed_WF_Clavicula = [SC, AC];
+ Reconstructed_WF_Scapula = [AC, AA, TS, AI, GH, AC];
+ BReconstructed_WF_Humerus = [GH, HU, EL, EM];
+ Reconstructed_WF_Ulna = [CP, HU, EM, US];
+ Reconstructed_WF_Radius = [CP, RS];
+
+ %--------------------------------------------------------------------------
+ % define the wireframe of the measured motion
+ %--------------------------------------------------------------------------
+ Measured_WF_Thorax_ = [SSDATA.Measured_Kinematics.IJ(:,i),...
+ SSDATA.Measured_Kinematics.PX(:,i),...
+ SSDATA.Measured_Kinematics.T8(:,i),...
+ SSDATA.Measured_Kinematics.C7(:,i),...
+ SSDATA.Measured_Kinematics.IJ(:,i)];
+
+ Measured_WF_Clavicula = [SSDATA.Measured_Kinematics.SC(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Scapula = [SSDATA.Measured_Kinematics.AC(:,i),...
+ SSDATA.Measured_Kinematics.AA(:,i),...
+ SSDATA.Measured_Kinematics.TS(:,i),...
+ SSDATA.Measured_Kinematics.AI(:,i),...
+ SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Humerus = [SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.HU(:,i),...
+ SSDATA.Measured_Kinematics.EL(:,i),...
+ SSDATA.Measured_Kinematics.EM(:,i)];
+
+ Measured_WF_Ulna = [SSDATA.Measured_Kinematics.CP,...
+ SSDATA.Measured_Kinematics.HU, EM, US];
+ Measured_WF_Radius = [CP, RS];
+
+
+
+
+
+ drawnow;
+end
+
+% Clear some variables
+clear SC AC AA TS AI GH HU EL EM US RS CP Rmat Rc Rs Rh Ru Rr;
+
+% When Motion is over, reset the current BLDATA to initial
+% Get the Current Rotation Matrices
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,1), BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+clear Rmat i;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed_motion.m b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed_motion.m
new file mode 100755
index 0000000..7499ceb
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Kinematics/KINEMATICS_TOOL_view_reconstructed_motion.m
@@ -0,0 +1,648 @@
+%{
+--------------------------------------------------------------------------
+ SCRIPT FOR RUNNING A VIDEO OF THE RECONSTRUCTED MOTION TOGETHER WITH THE
+ MEASURED MOTION (IN BLUE AND GREEN)
+--------------------------------------------------------------------------
+
+%}
+
+%--------------------------------------------------------------------------
+% define where to show the motion
+%--------------------------------------------------------------------------
+set(KRHandle, 'currentaxes', KRPlotHandles.View_Motion_Axes); hold on;
+
+%--------------------------------------------------------------------------
+% I decided to show the smoothened motion
+%--------------------------------------------------------------------------
+
+% creat the time
+ % take the motion time span
+ final_time = str2double(get(KRGUIHandle.TimeFrameEdit, 'string'));
+
+ % define the elapsed time necessary to connect knot i-1 to i
+ max_frame = 100*final_time;
+ %h = final_time/(length(SSDATA.Measured_Kinematics.IJ)-1);
+ h = final_time/(max_frame-1);
+
+ % creat the time
+ time = 0: h: final_time;
+
+% define numerical values of the acceleration, velocity, and coordinate for
+% the specific GC_id
+ % option 1: directly from IK
+ q = SSDATA.Joint_Angle_Reconstruction;
+ % option 2: smoothened motion
+% for GC_id = 1:11
+% q(GC_id,:) = polyval(SSDATA.Joint_Angle_Coefficients(GC_id, :), time);
+% end
+
+%--------------------------------------------------------------------------
+% define the bony landmarks
+%--------------------------------------------------------------------------
+% run through the motion while skipping some points.
+
+StepSize = 3; % defines the step size that you want to go over the data
+
+%F(1) = getframe(gca); % get the first video frame
+
+ii = 0; % to count the video frames
+
+for i = 1:StepSize:max_frame%length(SSDATA.Measured_Kinematics.IJ)
+
+ ii = ii + 1; % to count the video frames
+ %--------------------------------------------------------------------------
+ % define the wireframe of the reconstructed motion
+ %--------------------------------------------------------------------------
+ % define the rotation matrices from the generalized coordinates vector (Euler angles)
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q(:, i), BLDATA);
+ Rc = Rmat(:,1:3);
+ Rs = Rmat(:,4:6);
+ Rh = Rmat(:,7:9);
+ Ru = Rmat(:,10:12);
+ Rr = Rmat(:,13:15);
+
+ % plot the meshing data
+ % Set the correct current bony landmarks
+ BLDATA = MAIN_TOOL_geometry_functions('Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+
+
+
+
+
+% % Create the 3-D Muscle elements
+% for MuscleId = 1:size(MWDATA,1)
+%
+% % % Origin & Insertion
+% VISUALISATION_view_muscle_origins([], MWDATA, BLDATA, MuscleId);
+% VISUALISATION_view_muscle_insertions([], MWDATA, BLDATA, MuscleId);
+%
+% % Muscle Segements
+% for SegmentId = 1:MWDATA{MuscleId,1}.MSCInfo.NbSegments
+% % Only one segment per muscle to start.
+% % plot3(0, 0, 0,...
+% % 'color', 'red', 'linewidth', 2, 'marker', 'o', 'markerfacecolor', 'red', 'markersize', 6);
+% VISUALISATION_view_muscle_segement([], MWDATA, BLDATA, MuscleId, SegmentId);
+% end
+%
+% end
+%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+% % Create the 3-D Meshing Visualisations
+% % if i == 1
+% % KRMOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+% % else
+% % KRMOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(1), MEDATA, 0, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(2), MEDATA, 1, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(3), MEDATA, 2, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(4), MEDATA, 3, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(5), MEDATA, 4, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(6), MEDATA, 5, BLDATA);
+% % KRMOVPlotHandles.WireFrameHandle(7) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(7), MEDATA, 6, BLDATA);
+% % end
+
+% VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+%
+% % Set some of the global properties for the entire plot
+% light('Position',[1 0 0],'Style','infinite');
+% light('Position',[0 0 -10],'Style','local');
+% light('Position',[10 -50 0],'Style','infinite');
+% colormap copper;
+% %box on;
+% material dull;
+% %axis equal;
+% axis ([-100 800 -400 800 -700 800])
+% %zoom(1);
+% %view([155, 15]);
+
+ % Get Initial Rotation Matrices
+ Rc_initial = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs_initial = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh_initial = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru_initial = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr_initial = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get all initial configurations of the landmarks
+ IJ_initial = BLDATA.Initial_Points.IJ;
+ PX_initial = BLDATA.Initial_Points.PX;
+ T8_initial = BLDATA.Initial_Points.T8;
+ C7_initial = BLDATA.Initial_Points.C7;
+ SC_initial = BLDATA.Initial_Points.SC;
+ AC_initial = BLDATA.Initial_Points.AC;
+ AA_initial = BLDATA.Initial_Points.AA;
+ TS_initial = BLDATA.Initial_Points.TS;
+ AI_initial = BLDATA.Initial_Points.AI;
+ GH_initial = BLDATA.Initial_Points.GH;
+ HU_initial = BLDATA.Initial_Points.HU;
+ EL_initial = BLDATA.Initial_Points.EL;
+ EM_initial = BLDATA.Initial_Points.EM;
+ CP_initial = BLDATA.Initial_Points.CP;
+ US_initial = BLDATA.Initial_Points.US;
+ RS_initial = BLDATA.Initial_Points.RS;
+
+ % define the configurations of the landmarks
+ IJ = IJ_initial;
+ PX = PX_initial;
+ T8 = T8_initial;
+ C7 = C7_initial;
+ SC = SC_initial;
+ AC = Rc*Rc_initial'*(AC_initial - SC_initial) + SC_initial;
+ AA = Rs*Rs_initial'*(AA_initial - AC_initial) + AC;
+ TS = Rs*Rs_initial'*(TS_initial - AC_initial) + AC;
+ AI = Rs*Rs_initial'*(AI_initial - AC_initial) + AC;
+ GH = Rs*Rs_initial'*(GH_initial - AC_initial) + AC;
+ HU = Rh*Rh_initial'*(HU_initial - GH_initial) + GH;
+ EL = Rh*Rh_initial'*(EL_initial - GH_initial) + GH;
+ EM = Rh*Rh_initial'*(EM_initial - GH_initial) + GH;
+ US = Ru*Ru_initial'*(US_initial - HU_initial) + HU;
+ CP = Rh*Rh_initial'*(CP_initial - GH_initial) + GH;
+ RS = Rr*Rr_initial'*(RS_initial - CP_initial) + CP;
+
+ % Build the bone wire frames for plotting purposes
+ Reconstructed_WF_Thorax = [IJ, PX, T8, C7, IJ];
+ Reconstructed_WF_Clavicula = [SC, AC];
+ Reconstructed_WF_Scapula = [AC, AA, TS, AI, GH, AC];
+ Reconstructed_WF_Humerus = [GH, HU, EL, EM];
+ Reconstructed_WF_Ulna = [CP, HU, EM, US];
+ Reconstructed_WF_Radius = [CP, RS];
+%
+ %--------------------------------------------------------------------------
+ % define the wireframe of the measured motion
+ %--------------------------------------------------------------------------
+ Measured_WF_Thorax = [SSDATA.Measured_Kinematics.IJ(:,i),...
+ SSDATA.Measured_Kinematics.PX(:,i),...
+ SSDATA.Measured_Kinematics.T8(:,i),...
+ SSDATA.Measured_Kinematics.C7(:,i),...
+ SSDATA.Measured_Kinematics.IJ(:,i)];
+
+ Measured_WF_Clavicula = [SSDATA.Measured_Kinematics.SC(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Scapula = [SSDATA.Measured_Kinematics.AC(:,i),...
+ SSDATA.Measured_Kinematics.AA(:,i),...
+ SSDATA.Measured_Kinematics.TS(:,i),...
+ SSDATA.Measured_Kinematics.AI(:,i),...
+ SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Humerus = [SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.HU(:,i),...
+ SSDATA.Measured_Kinematics.EL(:,i),...
+ SSDATA.Measured_Kinematics.EM(:,i)];
+
+ Measured_WF_Ulna = [SSDATA.Measured_Kinematics.CP(:,i),...
+ SSDATA.Measured_Kinematics.HU(:,i),...
+ SSDATA.Measured_Kinematics.EM(:,i),...
+ SSDATA.Measured_Kinematics.US(:,i)];
+
+ Measured_WF_Radius = [SSDATA.Measured_Kinematics.CP(:,i),...
+ SSDATA.Measured_Kinematics.RS(:,i)];
+
+ %--------------------------------------------------------------------------
+ % plot the two wireframes together
+ %--------------------------------------------------------------------------
+ % plot reconstructed wireframes
+ plot3(Reconstructed_WF_Thorax(1,:),...
+ Reconstructed_WF_Thorax(2,:),...
+ Reconstructed_WF_Thorax(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+ plot3(Reconstructed_WF_Clavicula(1,:),...
+ Reconstructed_WF_Clavicula(2,:),...
+ Reconstructed_WF_Clavicula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+ plot3(Reconstructed_WF_Scapula(1,:),...
+ Reconstructed_WF_Scapula(2,:),...
+ Reconstructed_WF_Scapula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+ plot3(Reconstructed_WF_Humerus(1,:),...
+ Reconstructed_WF_Humerus(2,:),...
+ Reconstructed_WF_Humerus(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+ plot3(Reconstructed_WF_Ulna(1,:),...
+ Reconstructed_WF_Ulna(2,:),...
+ Reconstructed_WF_Ulna(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+ plot3(Reconstructed_WF_Radius(1,:),...
+ Reconstructed_WF_Radius(2,:),...
+ Reconstructed_WF_Radius(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'blue',...
+ 'markeredgecolor', 'blue');
+%
+% plot measured wireframes
+
+% plot3(Measured_WF_Thorax(1,:),...
+% Measured_WF_Thorax(2,:),...
+% Measured_WF_Thorax(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+% plot3(Measured_WF_Clavicula(1,:),...
+% Measured_WF_Clavicula(2,:),...
+% Measured_WF_Clavicula(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+% plot3(Measured_WF_Scapula(1,:),...
+% Measured_WF_Scapula(2,:),...
+% Measured_WF_Scapula(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+% plot3(Measured_WF_Humerus(1,:),...
+% Measured_WF_Humerus(2,:),...
+% Measured_WF_Humerus(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+% plot3(Measured_WF_Ulna(1,:),...
+% Measured_WF_Ulna(2,:),...
+% Measured_WF_Ulna(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+% plot3(Measured_WF_Radius(1,:),...
+% Measured_WF_Radius(2,:),...
+% Measured_WF_Radius(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', '*',...
+% 'markerfacecolor', 'green',...
+% 'markeredgecolor', 'green');
+
+
+ % show extra information about the contact
+
+ str1 = ['time = ', num2str(time(i)), ' [s]']; % show the abduction angle on the plot
+ str1_prop = annotation('textbox',[0.01 0.48 0.15 0.02],'String',str1,'FitBoxToText','off','BackgroundColor','w');
+ str1_prop.FontSize = 16;
+
+ %drawnow;
+ pause(h);
+
+ F(ii) = getframe(gca); % save the frame
+
+ if i < 1 + floor((max_frame-1)/StepSize)*StepSize % length(SSDATA.Measured_Kinematics.IJ)
+ cla
+ end
+end
+%}
+
+%{
+% TO CHECK MY METHOD
+
+StepSize = 10; % defines the step size that you want to go over the data
+
+%F(1) = getframe(gca); % get the first video frame
+
+ii = 0; % to count the video frames
+
+for i = 1:StepSize:max_frame%length(SSDATA.Measured_Kinematics.IJ)
+
+ ii = ii + 1; % to count the video frames
+ %--------------------------------------------------------------------------
+ % define the wireframe of the reconstructed motion
+ %--------------------------------------------------------------------------
+ % define the rotation matrices from the generalized coordinates vector (Euler angles)
+% Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', q(:, i), BLDATA);
+% Rc = Rmat(:,1:3);
+% Rs = Rmat(:,4:6);
+% Rh = Rmat(:,7:9);
+% Ru = Rmat(:,10:12);
+% Rr = Rmat(:,13:15);
+%
+% % plot the meshing data
+% % Set the correct current bony landmarks
+% BLDATA = MAIN_TOOL_geometry_functions('Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ % Create the 3-D Meshing Visualisations
+% if i == 1
+% KRMOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+% else
+% KRMOVPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(1), MEDATA, 0, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(2), MEDATA, 1, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(3), MEDATA, 2, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(4), MEDATA, 3, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(5), MEDATA, 4, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(6), MEDATA, 5, BLDATA);
+% KRMOVPlotHandles.WireFrameHandle(7) = VISUALISATION_view_bone_meshing(KRMOVPlotHandles.WireFrameHandle(7), MEDATA, 6, BLDATA);
+% end
+
+% VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+% VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+%
+% % Set some of the global properties for the entire plot
+% light('Position',[1 0 0],'Style','infinite');
+% light('Position',[0 0 -10],'Style','local');
+% light('Position',[10 -50 0],'Style','infinite');
+% colormap copper;
+% %box on;
+% material dull;
+% %axis equal;
+% axis ([-100 800 -400 800 -700 800])
+% %zoom(1);
+% %view([155, 15]);
+
+% % Get Initial Rotation Matrices
+% Rc_initial = BLDATA.Initial_Matrices_L2A.Rc;
+% Rs_initial = BLDATA.Initial_Matrices_L2A.Rs;
+% Rh_initial = BLDATA.Initial_Matrices_L2A.Rh;
+% Ru_initial = BLDATA.Initial_Matrices_L2A.Ru;
+% Rr_initial = BLDATA.Initial_Matrices_L2A.Rr;
+%
+% % Get all initial configurations of the landmarks
+% IJ_initial = BLDATA.Initial_Points.IJ;
+% PX_initial = BLDATA.Initial_Points.PX;
+% T8_initial = BLDATA.Initial_Points.T8;
+% C7_initial = BLDATA.Initial_Points.C7;
+% SC_initial = BLDATA.Initial_Points.SC;
+% AC_initial = BLDATA.Initial_Points.AC;
+% AA_initial = BLDATA.Initial_Points.AA;
+% TS_initial = BLDATA.Initial_Points.TS;
+% AI_initial = BLDATA.Initial_Points.AI;
+% GH_initial = BLDATA.Initial_Points.GH;
+% HU_initial = BLDATA.Initial_Points.HU;
+% EL_initial = BLDATA.Initial_Points.EL;
+% EM_initial = BLDATA.Initial_Points.EM;
+% CP_initial = BLDATA.Initial_Points.CP;
+% US_initial = BLDATA.Initial_Points.US;
+% RS_initial = BLDATA.Initial_Points.RS;
+%
+% % define the configurations of the landmarks
+% IJ = IJ_initial;
+% PX = PX_initial;
+% T8 = T8_initial;
+% C7 = C7_initial;
+% SC = SC_initial;
+% AC = Rc*Rc_initial'*(AC_initial - SC_initial) + SC_initial;
+% AA = Rs*Rs_initial'*(AA_initial - AC_initial) + AC;
+% TS = Rs*Rs_initial'*(TS_initial - AC_initial) + AC;
+% AI = Rs*Rs_initial'*(AI_initial - AC_initial) + AC;
+% GH = Rs*Rs_initial'*(GH_initial - AC_initial) + AC;
+% HU = Rh*Rh_initial'*(HU_initial - GH_initial) + GH;
+% EL = Rh*Rh_initial'*(EL_initial - GH_initial) + GH;
+% EM = Rh*Rh_initial'*(EM_initial - GH_initial) + GH;
+% US = Ru*Ru_initial'*(US_initial - HU_initial) + HU;
+% CP = Rh*Rh_initial'*(CP_initial - GH_initial) + GH;
+% RS = Rr*Rr_initial'*(RS_initial - CP_initial) + CP;
+%
+% % Build the bone wire frames for plotting purposes
+% Reconstructed_WF_Thorax = [IJ, PX, T8, C7, IJ];
+% Reconstructed_WF_Clavicula = [SC, AC];
+% Reconstructed_WF_Scapula = [AC, AA, TS, AI, GH, AC];
+% Reconstructed_WF_Humerus = [GH, HU, EL, EM];
+% Reconstructed_WF_Ulna = [CP, HU, EM, US];
+% Reconstructed_WF_Radius = [CP, RS];
+% %
+ %--------------------------------------------------------------------------
+ % define the wireframe of the measured motion
+ %--------------------------------------------------------------------------
+ Measured_WF_Thorax = [SSDATA.Measured_Kinematics.IJ(:,i),...
+ SSDATA.Measured_Kinematics.PX(:,i),...
+ SSDATA.Measured_Kinematics.T8(:,i),...
+ SSDATA.Measured_Kinematics.C7(:,i),...
+ SSDATA.Measured_Kinematics.IJ(:,i)];
+
+ Measured_WF_Clavicula = [SSDATA.Measured_Kinematics.SC(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Scapula = [SSDATA.Measured_Kinematics.AC(:,i),...
+ SSDATA.Measured_Kinematics.AA(:,i),...
+ SSDATA.Measured_Kinematics.TS(:,i),...
+ SSDATA.Measured_Kinematics.AI(:,i),...
+ SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.AC(:,i)];
+
+ Measured_WF_Humerus = [SSDATA.Measured_Kinematics.GH(:,i),...
+ SSDATA.Measured_Kinematics.HU(:,i),...
+ SSDATA.Measured_Kinematics.EL(:,i),...
+ SSDATA.Measured_Kinematics.EM(:,i)];
+
+ Measured_WF_Ulna = [SSDATA.Measured_Kinematics.CP(:,i),...
+ SSDATA.Measured_Kinematics.HU(:,i),...
+ SSDATA.Measured_Kinematics.EM(:,i),...
+ SSDATA.Measured_Kinematics.US(:,i)];
+
+ Measured_WF_Radius = [SSDATA.Measured_Kinematics.CP(:,i),...
+ SSDATA.Measured_Kinematics.RS(:,i)];
+
+ %--------------------------------------------------------------------------
+ % plot the two wireframes together
+ %--------------------------------------------------------------------------
+ % plot reconstructed wireframes
+% plot3(Reconstructed_WF_Thorax(1,:),...
+% Reconstructed_WF_Thorax(2,:),...
+% Reconstructed_WF_Thorax(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+% plot3(Reconstructed_WF_Clavicula(1,:),...
+% Reconstructed_WF_Clavicula(2,:),...
+% Reconstructed_WF_Clavicula(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+% plot3(Reconstructed_WF_Scapula(1,:),...
+% Reconstructed_WF_Scapula(2,:),...
+% Reconstructed_WF_Scapula(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+% plot3(Reconstructed_WF_Humerus(1,:),...
+% Reconstructed_WF_Humerus(2,:),...
+% Reconstructed_WF_Humerus(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+% plot3(Reconstructed_WF_Ulna(1,:),...
+% Reconstructed_WF_Ulna(2,:),...
+% Reconstructed_WF_Ulna(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+% plot3(Reconstructed_WF_Radius(1,:),...
+% Reconstructed_WF_Radius(2,:),...
+% Reconstructed_WF_Radius(3,:),...
+% 'color', 'black',...
+% 'linewidth', 2,...
+% 'marker', 'o',...
+% 'markerfacecolor', 'blue',...
+% 'markeredgecolor', 'blue');
+%
+% plot measured wireframes
+
+ plot3(Measured_WF_Thorax(1,:),...
+ Measured_WF_Thorax(2,:),...
+ Measured_WF_Thorax(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+ plot3(Measured_WF_Clavicula(1,:),...
+ Measured_WF_Clavicula(2,:),...
+ Measured_WF_Clavicula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+ plot3(Measured_WF_Scapula(1,:),...
+ Measured_WF_Scapula(2,:),...
+ Measured_WF_Scapula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+ plot3(Measured_WF_Humerus(1,:),...
+ Measured_WF_Humerus(2,:),...
+ Measured_WF_Humerus(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+ plot3(Measured_WF_Ulna(1,:),...
+ Measured_WF_Ulna(2,:),...
+ Measured_WF_Ulna(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+ plot3(Measured_WF_Radius(1,:),...
+ Measured_WF_Radius(2,:),...
+ Measured_WF_Radius(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', '*',...
+ 'markerfacecolor', 'green',...
+ 'markeredgecolor', 'green');
+
+
+ % show extra information about the contact
+
+ str1 = ['time = ', num2str(time(i)), ' [s]']; % show the abduction angle on the plot
+ str1_prop = annotation('textbox',[0.01 0.48 0.15 0.02],'String',str1,'FitBoxToText','off','BackgroundColor','w');
+ str1_prop.FontSize = 16;
+
+ %drawnow;
+ pause(h);
+
+ F(ii) = getframe(gca); % save the frame
+
+ if i < 1 + floor((max_frame-1)/StepSize)*StepSize % length(SSDATA.Measured_Kinematics.IJ)
+ cla
+ end
+end
+%}
+myvideo = VideoWriter('recontructed_motion','Uncompressed AVI'); % create an avi file to save the F
+myVideo.Quality = 100;
+%myVideo.FrameRate = 50;
+open(myvideo);
+writeVideo(myvideo,F); % write the resulted F into the created video
+close(myvideo);
+
+% % Clear some variables
+% clear SC AC AA TS AI GH HU EL EM US RS CP Rmat Rc Rs Rh Ru Rr;
+%
+% % When Motion is over, reset the current BLDATA to initial
+% % Get the Current Rotation Matrices
+% Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', KEDATA.Joint_Angle_Evolution(:,1), BLDATA);
+%
+% % Update the current configuration
+% BLDATA = MAIN_TOOL_geometry_functions(...
+% 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+%
+% clear Rmat i;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_click_figure_script.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_click_figure_script.m
new file mode 100755
index 0000000..77530e5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_click_figure_script.m
@@ -0,0 +1,111 @@
+%{
+--------------------------------------------------------------------------
+Function Description :
+This script is run when the a figure in the MOMENT_ARM_TOOL_main_file is
+clicked on.
+Note that the moment arm data includes only the matrix C of page 86. In
+other world, it's not the generalized moment arm (W*C).
+--------------------------------------------------------------------------
+%}
+
+% Create A new Figure
+figure('color', 'white');
+
+% first chose among the two available options for the kinematics
+if isfield(SSDATA, 'Joint_Angle_Reconstruction')
+ % Create the Time
+ JEA = SSDATA.Joint_Angle_Reconstruction;
+ %Time = linspace(0, 1, size(KEDATA.Joint_Angle_Evolution,2));
+else
+ % option 1: use the joint angles acieved directly from the IK
+ JEA = KEDATA.Joint_Angle_Evolution;
+ %Time = SSDATA.time;
+
+end
+
+
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments;
+ % Create a plot of the SC joint moment arms
+ subplot(4,2,1);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(:,1:3), 'linewidth', 2);
+ hold on;
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(:,1:3), 'linewidth', 2, 'linestyle', '--');
+ title('SC joint moment-arms (Geometric & Tendon Excursion)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % Create a plot of the AC joint moment arms
+ subplot(4,2,2);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(:,4:6), 'linewidth', 2);
+ hold on;
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(:,4:6), 'linewidth', 2, 'linestyle', '--');
+ title('AC joint moment-arms (Geometric & Tendon Excursion)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % Create a plot of the GH joint moment arms
+ subplot(4,2,3);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(:,7:9), 'linewidth', 2);
+ hold on;
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(:,7:9), 'linewidth', 2, 'linestyle', '--');
+ title('GH joint moment-arms (Geometric & Tendon Excursion)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % Create a plot of the HU joint moment arms
+ subplot(4,2,4);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(:,10:12), 'linewidth', 2);
+ hold on;
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(:,10:12), 'linewidth', 2, 'linestyle', '--');
+ title('HU joint moment-arms (Geometric & Tendon Excursion)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % Create a plot of the RU joint moment arms
+ subplot(4,2,5);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(:,13:15), 'linewidth', 2);
+ hold on;
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(:,13:15), 'linewidth', 2, 'linestyle', '--');
+ title('RU joint moment-arms (Geometric & Tendon Excursion)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % GH joint moment arms in the scapular plane
+ subplot(4,2,7);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.ScapularPlane{1,SegmentId}(:,7:9), 'linewidth', 2);
+ title('GH joint moment-arms (scapular plane)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+
+ % GH joint moment arms in the Garner & Pandy scapular plane
+ subplot(4,2,8);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId}(:,7:9), 'linewidth', 2);
+ title('GH joint moment-arms (scapular plane, G & P)',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+
+ % Plot the muscle length
+ subplot(4,2,6);
+ plot(JEA(8,:)'*180/pi, MADATA{MuscleId, 1}.MuscleLength(:,SegmentId), 'linewidth', 2);
+ title('Muscle Segment Lengths [m]',...
+ 'fontweight', 'bold',...
+ 'fontsize', 16,...
+ 'fontname', 'sansserif');
+ set(gca, 'XDir', 'reverse', 'fontsize', 14);
+ end
+
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_all.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_all.m
new file mode 100755
index 0000000..dd6608b
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_all.m
@@ -0,0 +1,245 @@
+function MADATA = MOMENT_ARM_TOOL_compute_all(MWDATA, BLDATA, KEDATA, WBHandle, SSDATA)
+%{
+Computes all the muscle moment-arms using both methods
+--------------------------------------------------------------------------
+Syntax :
+MDATA = MOMENT_ARM_TOOL_compute_all(MWDATA, BLDATA, KEDATA, WBHandle)
+--------------------------------------------------------------------------
+Function Description :
+This function computes the moment arms of all the muscle segments using
+both the geometric method and the tendon excursion method. Note that the
+moment arm calculated here includes only the matrix C of page 86 of the
+thesis. In other world, it's not the generalized moment arm matrix (W*C).
+The muscle lengths, and the moment arms computed in the scapular plane are
+included in the function's outputs. The scapular plane means the body-fixed
+frame attached to the scapula. The scapular plane is defined according
+to both the Garner's definition and the ISB convention (Rs). The function
+also gives a matrix consisting of the unit vectors of the forces acting on
+different bodies. It's a 15xnumber of segments matrix. Its 7-8th rows
+includes the direction of the forces acting on the humerus.
+
+The Output Data Structure is defined as follows
+ MADATA{MuscleId,1}.MomentArms
+ MADATA{MuscleId,1}.FDirection
+ MADATA{MuscleId,1}.ScapularPlane_GnP
+ MADATA{MuscleId,1}.ScapularPlane
+
+--------------------------------------------------------------------------
+%}
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain an N x 15 matrix
+for MuscleId = 1:42
+ MADATA{MuscleId, 1}.MomentArms = cell(1,20);
+ MADATA{MuscleId, 1}.MomentArmsNum = cell(1,20);
+ MADATA{MuscleId, 1}.FDirection = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane = cell(1,20);
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.ScapularPlane {1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+
+%--------------------------------------------------------------------------
+% Define Angles, Velocities, & Accelerations
+%--------------------------------------------------------------------------
+% first chose among the two available options for the kinematics
+
+if isfield(SSDATA, 'Joint_Angle_Reconstruction')
+ % Create the Time
+ % t = linspace(0,ESTDATA.Tmax,size(KEDATA.Joint_Angle_Evolution,2));
+ % Pre-Define the Joint Angles, Velocities, and Accelerations
+ JEA = SSDATA.Joint_Angle_Reconstruction;
+% dJEAdt = [];
+% d2JEAdt2 = [];
+% for TimeId = 1:size(t,2)-1
+% % Velocity
+% dJEAdt = [dJEAdt, (JEA(:,TimeId+1) - JEA(:,TimeId))/(t(TimeId+1) - t(TimeId))];
+%
+% if TimeId < size(t,2)-1
+% % Acceleration
+% d2JEAdt2 = [d2JEAdt2, (JEA(:,TimeId+2) - 2*JEA(:,TimeId+1) + JEA(:,TimeId))/((t(TimeId+2) - t(TimeId+1))*(t(TimeId+1) - t(TimeId)))];
+% end
+% end
+else
+ % option 1: use the joint angles acieved directly from the IK
+ JEA = KEDATA.Joint_Angle_Evolution;
+% t = linspace(0,ESTDATA.Tmax,length(SSDATA.Joint_Angle_Reconstruction));
+% dJEAdt = [];
+% d2JEAdt2 = [];
+% for TimeId = 1:length(t)-1
+% dJEAdt = [dJEAdt, (JEA(:,TimeId+1) - JEA(:,TimeId))/(t(TimeId+1) - t(TimeId))];
+% if TimeId < length(t)-1
+% % Acceleration
+% d2JEAdt2 = [d2JEAdt2, (JEA(:,TimeId+2) - 2*JEA(:,TimeId+1) + JEA(:,TimeId))/((t(TimeId+2) - t(TimeId+1))*(t(TimeId+1) - t(TimeId)))];
+% end
+% end
+%
+% % the clavicle axial rotation is always noisy
+% dJEAdt(1,:) = polyval(SSDATA.Joint_Velocity_Coefficients(1, :), t(1, 1:end-1));
+% d2JEAdt2(1,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(1, :), t(1, 1:end-2));
+
+ % option 2: use the smoothened joint angles from IK
+% t = linspace(0,ESTDATA.Tmax,100);
+% for ja_id = 1:11
+% JEA(ja_id,:) = polyval(SSDATA.Joint_Angle_Coefficients(ja_id,:),t);
+% dJEAdt(ja_id,:) = polyval(SSDATA.Joint_Velocity_Coefficients(ja_id,:),t);
+% d2JEAdt2(ja_id,:) = polyval(SSDATA.Joint_Acceleration_Coefficients(ja_id,:),t);
+% end
+% SSDATA.Smoothened_Joint_Angle_Reconstruction = JEA;
+end
+
+
+%--------------------------------------------------------------------------
+% Run through all the motion
+%--------------------------------------------------------------------------
+for TimeId = 1:size(JEA,2)
+ waitbar(TimeId/size(JEA,2), WBHandle);
+
+ % Display
+ disp(['Computing All Moment-Arms, Time Stamp : ', num2str(TimeId), '/', num2str(size(JEA,2))]);
+
+ % Get the Current Rotation Matrices
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', JEA(:,TimeId), BLDATA);
+
+ % Update the current configuration
+ BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ % Pre-define data matrices
+ Wmat = []; % moment arm using geometrical method
+ Wmatnum = []; % moment arm using tendon excursion
+ Dmat = []; % used to be the direction of the forces acting on the humerus. But, it's now a 15xnumber of segments force direction matrix.
+ Lmat = []; % muscle length
+
+ % Run through all the muscles and their segments
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ %----------------------------------------------------------------------
+ % MOMENT ARMS: GEOMETRIC METHOD FOR EACH MUSCLE
+ %----------------------------------------------------------------------
+ % Construct a One-Time Muscle Structure for a single segment
+ Muscle_Seg.Origin = MWDATA{MuscleId,1}.Origin{1,SegmentId};
+ Muscle_Seg.ViaA = MWDATA{MuscleId,1}.ViaA{1,SegmentId};
+ Muscle_Seg.ViaB = MWDATA{MuscleId,1}.ViaB{1,SegmentId};
+ Muscle_Seg.Insertion = MWDATA{MuscleId,1}.Insertion{1,SegmentId};
+ Muscle_Seg.OriginRef = MWDATA{MuscleId,1}.MSCInfo.OriginRef;
+ Muscle_Seg.ViaARef = MWDATA{MuscleId,1}.MSCInfo.ViaARef;
+ Muscle_Seg.ViaBRef = MWDATA{MuscleId,1}.MSCInfo.ViaBRef;
+ Muscle_Seg.InsertionRef = MWDATA{MuscleId,1}.MSCInfo.InsertionRef;
+ Muscle_Seg.ObjectCentre = MWDATA{MuscleId,1}.MSCInfo.ObjectCentre;
+ Muscle_Seg.ObjectType = MWDATA{MuscleId,1}.MSCInfo.ObjectType;
+ Muscle_Seg.ObjectZaxis = MWDATA{MuscleId,1}.MSCInfo.ObjectZaxis;
+ Muscle_Seg.ObjectRef = MWDATA{MuscleId,1}.MSCInfo.ObjectRef;
+ Muscle_Seg.ObjectRadii = MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale*MWDATA{MuscleId,1}.MSCInfo.ObjectRadii;
+ Muscle_Seg.NbPlot = MWDATA{MuscleId,1}.MSCInfo.NbPlotPoints;
+
+ % Compute the Wrapping
+ WRDATA = MUSCLE_TOOL_compute_wrapping(BLDATA, Muscle_Seg);
+
+ % Compute the moment arms using the geometric method
+ [MAi, DVi] = MOMENT_ARM_TOOL_compute_moment_arms(WRDATA.PathPoints, WRDATA.PathRefList, BLDATA);
+
+ % Fill The matrix
+ Wmat = [Wmat, MAi];
+
+ %----------------------------------------------------------------------
+ % MUSCLE LENGTH & GH JOINT FORCE DIRECTIONS
+ %----------------------------------------------------------------------
+ % Fill The Length
+ Lmat = [Lmat, 1.e-3*WRDATA.PathLength];
+
+ %{
+ This part here is not useful anymore. Because, we did some
+ modifications in the MOMENT_ARM_TOOL_compute_moment_arms that
+ results in a 15x1 unit direction vector for the forces. The
+ forces acting on the humerus have been already stored in rows
+ (7-9) of this vector.
+ %Compute the force directions applied to the humerus
+ if WRDATA.PathRefList(1,end) == 3
+ % Augment the force direction vector
+ Dmat = [Dmat, DVi];
+ else
+ Dmat = [Dmat, zeros(3,1)];
+ end
+ %}
+ Dmat = [Dmat, DVi]; % a 15xnumber of segments force direction matrix
+
+ %----------------------------------------------------------------------
+ % MOMENT ARMS : NUMERIC METHOD
+ %----------------------------------------------------------------------
+ % To find the moment arm matrix using the tendon excursion
+ % method one needs to first find the dl/dq that is the
+ % variation of the length with respect to the variation of the
+ % generalized coordinates. Then having defined dW/ddq
+ % (projection matrix), the moment arm (C) can be found by solving
+ % dW/ddq * C = dl/dq. Therefore, C = (dW/ddq) \ (dl/dq).
+
+ % Initialise
+ MAit = zeros(11,1); % dl/dq
+
+ % Joint Angle Variations Vector.
+ JEA_Variation = zeros(11,1);
+
+ % List of small angle changes
+ dJEA = [1.e-6, -1.e-6, 1.e-6, 1.e-6, -1.e-6, 1.e-6, 1.e-6, -1.e-6, 1.e-6, -1.e-6, 1.e-6];
+ for AngleId = 1:11
+ JEA_Variation(AngleId,1) = dJEA(AngleId);
+
+ % Get the Current Rotation Matrices with small variation
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', [JEA(:,TimeId)+JEA_Variation], BLDATA);
+
+ % Update the current configuration
+ BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ % Compute the Wrapping with updated bony landmark positions
+ WRDATAi = MUSCLE_TOOL_compute_wrapping(BLDATA, Muscle_Seg);
+
+ % Compute the length derivative
+ MAit(AngleId,1) = -1.e-3*(WRDATAi.PathLength - WRDATA.PathLength)/dJEA(AngleId);
+
+ % Reset BLDATA to the actual current values (without small variation)
+ Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', JEA(:,TimeId), BLDATA);
+ BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+ % Reset the variation to zero
+ JEA_Variation(AngleId,1) = 0;
+ end
+
+ % Compute the projection matrices
+ TPmat = MOMENT_ARM_TOOL_projection_matrices(JEA(:,TimeId)'); % 11 x 15
+
+ % Fill the matrix
+ Wmatnum = [Wmatnum, TPmat\MAit]; % 15 x 1
+ end
+ end
+ Rss = [cos(pi/6), -sin(pi/6), 0;
+ sin(pi/6), cos(pi/6), 0;
+ 0, 0, 1];
+ %----------------------------------------------------------------------
+ % SAVE DATA FOR ITH TIME STEP
+ %----------------------------------------------------------------------
+ valueId = 1;
+ for MuscleId = 1:42
+ for SegmentId = 1:MWDATA{MuscleId, 1}.MSCInfo.NbSegments
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId}(TimeId, :) = Wmat(:,valueId)';
+ MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId}(TimeId, :) = Wmatnum(:,valueId)';
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId}(TimeId, :) = Dmat(:,valueId)';
+ MADATA{MuscleId, 1}.MuscleLength(TimeId,SegmentId) = Lmat(1, valueId);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId}(TimeId, :) = [Wmat(1:6,valueId); BLDATA.Current_GnP.Rs'*Wmat(7:9,valueId); Wmat(10:15,valueId)]';
+ MADATA{MuscleId, 1}.ScapularPlane{1,SegmentId}(TimeId, :) = [Wmat(1:6,valueId); BLDATA.Current_Matrices_L2A.Rs'*Wmat(7:9,valueId); Wmat(10:15,valueId)]';
+ valueId = valueId + 1;
+ end
+ end
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_moment_arms.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_moment_arms.m
new file mode 100755
index 0000000..ceeb77c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_compute_moment_arms.m
@@ -0,0 +1,272 @@
+function [MA, DV] = MOMENT_ARM_TOOL_compute_moment_arms(PATH, WREF, BLDATA)
+%{
+ Function for computing the muscle moment arms using the geometric method
+--------------------------------------------------------------------------
+Syntax :
+[MA, DVEC] = MOMENT_ARM_TOOL_compute_moment_arms(PATH, WREF, BLDATA)
+--------------------------------------------------------------------------
+Function Description :
+This function computes the moment arms of a muscle given the way points
+of its path The way path is already defined by MUSCLE_TOOL_compute_wrapping.
+For each way point, the moment arms associated with each joint are
+computed and added to the total moment arms associated with the same joint.
+These adding procedure removes all the duplications caused by blindly
+considering all the way points. In other word, mechanically many of the way
+points are not needed to be considered. But in order to have more ease in
+programming we did it this way (for more details see 148-149 of the thesis).
+Apart from the moment arm for each segment, this function will give the
+unit direction vector of the force associated with the segment. The output
+force vector is a 15x1 vector. If all of its enteries in rows 7,8, and 9
+are not simultaneously zero, it means the muscle
+applies a force on the humerus. The same is relevant for its other enteries.
+
+The Output Data Structure is defined as follows:
+ MA = 15 x 1 Moment Arms
+ DV = 15 x 1 Force Direction Vector
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+MA = zeros(15,1);
+DV = zeros(15,1);
+
+% Create the list of Joint Centres
+JC = [BLDATA.Current_Points.SC, BLDATA.Current_Points.AC,...
+ BLDATA.Current_Points.GH, BLDATA.Current_Points.HU,...
+ BLDATA.Current_Points.CP];
+
+% Run through the entire muscle path starting with its insertion
+for PathIndex = size(PATH,2):-1:1
+ % Get the reference index
+ i = WREF(1,PathIndex); % the reference frame of the understudy point inside the loop
+
+ % Initialise the indivdual moment arms
+ MA_SC = zeros(3,1);
+ MA_AC = zeros(3,1);
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ %-----------------------------------------
+ %************** INSERTION POINT
+ %-----------------------------------------
+ if PathIndex == size(PATH,2)
+ % Direction Vector (normalised)
+ dn = PATH(:,PathIndex-1) - PATH(:,PathIndex); dn = dn/norm(dn);
+
+ if WREF(1,PathIndex) == 1 % The Point is on the clavicle
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,1));
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_AC = zeros(3,1);
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(1:3,1) = DV(1:3,1) + dn; % if some force applies on the Clavicle. At the end this might be zero after all of the summations
+
+ elseif WREF(1,PathIndex) == 2 % The Point is on the Scapula
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(4:6,1) = DV(4:6,1) + dn;
+
+ elseif WREF(1,PathIndex) == 3 % The Point in on the humerus
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,3));
+ MA_GH = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(7:9,1) = DV(7:9,1) + dn;
+
+ elseif WREF(1,PathIndex) == 4 % The Point in on the ulna
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,4) - JC(:,3));
+ MA_GH = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,4));
+ MA_HU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_RU = zeros(3,1);
+
+ DV(10:12,1) = DV(10:12,1) + dn;
+
+ elseif WREF(1,PathIndex) == 5 % The Point in on the radius
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,4) - JC(:,3));
+ MA_GH = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,5) - JC(:,4));
+ MA_HU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,5));
+ MA_RU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+
+ DV(13:15,1) = DV(13:15,1) + dn;
+
+ end
+ %-----------------------------------------
+ %************** MIDDLE POINTS
+ %-----------------------------------------
+ elseif PathIndex > 1 && PathIndex < size(PATH,2)
+ % Direction Vector (normalised)
+ dn_p = PATH(:,PathIndex-1) - PATH(:,PathIndex); dn_p = dn_p/norm(dn_p);
+ dn_n = PATH(:,PathIndex+1) - PATH(:,PathIndex); dn_n = dn_n/norm(dn_n);
+
+ if WREF(1,PathIndex) == 1 % The Point is on the clavicle
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,1));
+ dn = dn_p + dn_n;
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_AC = zeros(3,1);
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(1:3,1) = DV(1:3,1) + dn;
+
+ elseif WREF(1,PathIndex) == 2 % The Point is on the Scapula
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ dn = dn_p + dn_n;
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(4:6,1) = DV(4:6,1) + dn;
+
+
+ elseif WREF(1,PathIndex) == 3 % The Point in on the humerus
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ dn = dn_p + dn_n;
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,3));
+ MA_GH = cross(rn, dn);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(7:9,1) = DV(7:9,1) + dn;
+
+ elseif WREF(1,PathIndex) == 4 % The Point in on the ulna
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ dn = dn_p + dn_n;
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,4) - JC(:,3));
+ MA_GH = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,4));
+ MA_HU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ MA_RU = zeros(3,1);
+
+ DV(10:12,1) = DV(10:12,1) + dn;
+
+ elseif WREF(1,PathIndex) == 5 % The Point in on the radius
+ % Lever vector (convert to m)
+ rn = 1.e-3*(JC(:,2) - JC(:,1));
+ dn = dn_p + dn_n;
+ MA_SC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,3) - JC(:,2));
+ MA_AC = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,4) - JC(:,3));
+ MA_GH = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(JC(:,5) - JC(:,4));
+ MA_HU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,5));
+ MA_RU = [rn(2)*dn(3)-rn(3)*dn(2); rn(3)*dn(1)-rn(1)*dn(3); rn(1)*dn(2)-rn(2)*dn(1)];
+
+ DV(13:15,1) = DV(13:15,1) + dn;
+
+ end
+
+ %-----------------------------------------
+ %************** ORIGIN POINT
+ %-----------------------------------------
+ elseif PathIndex == 1
+ % Direction Vector (normalised)
+ dn = PATH(:,PathIndex+1) - PATH(:,PathIndex); dn = dn/norm(dn);
+
+ if WREF(1,PathIndex) == 1 % The Point is on the clavicle
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,1));
+ MA_SC = cross(rn, dn);
+ MA_AC = zeros(3,1);
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(1:3,1) = DV(1:3,1) + dn;
+
+ elseif WREF(1,PathIndex) == 2 % The Point is on the Scapula
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,2));
+ MA_SC = cross(1.e-3*(JC(:,2) - JC(:,1)), dn);
+ MA_AC = cross(rn, dn);
+ MA_GH = zeros(3,1);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(4:6,1) = DV(4:6,1) + dn;
+
+ elseif WREF(1,PathIndex) == 3 % The Point is on the humerus
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,3));
+ MA_SC = cross(1.e-3*(JC(:,2) - JC(:,1)), dn);
+ MA_AC = cross(1.e-3*(JC(:,3) - JC(:,2)), dn);
+ MA_GH = cross(rn, dn);
+ MA_HU = zeros(3,1);
+ MA_RU = zeros(3,1);
+
+ DV(7:9,1) = DV(7:9,1) + dn;
+
+ elseif WREF(1,PathIndex) == 4 % The Point is on the ulna
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,4));
+ MA_SC = cross(1.e-3*(JC(:,2) - JC(:,1)), dn);
+ MA_AC = cross(1.e-3*(JC(:,3) - JC(:,2)), dn);
+ MA_GH = cross(1.e-3*(JC(:,4) - JC(:,3)), dn);
+ MA_HU = cross(rn, dn);
+ MA_RU = zeros(3,1);
+
+ DV(10:12,1) = DV(10:12,1) + dn;
+
+ elseif WREF(1,PathIndex) == 5 % The Point is on the radius
+ % Lever vector (convert to m)
+ rn = 1.e-3*(PATH(:,PathIndex) - JC(:,5));
+ MA_SC = cross(1.e-3*(JC(:,2) - JC(:,1)), dn);
+ MA_AC = cross(1.e-3*(JC(:,3) - JC(:,2)), dn);
+ MA_GH = cross(1.e-3*(JC(:,4) - JC(:,3)), dn);
+ MA_HU = cross(1.e-3*(JC(:,5) - JC(:,4)), dn);
+ MA_RU = cross(rn, dn);
+
+ DV(13:15,1) = DV(13:15,1) + dn;
+
+ end
+
+ end
+ % Complete the moment arms
+ MA = MA + [MA_SC; MA_AC; MA_GH; MA_HU; MA_RU];
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_main_file.m
new file mode 100755
index 0000000..0cef994
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_main_file.m
@@ -0,0 +1,579 @@
+%{
+--------------------------------------------------------------------------
+
+ EPFL - LA - LBO UPPER EXTREMITY MODEL
+ Created by : David Ingram (LA - EPFL) ..............30.07.2014
+ Updates by : Ehsan Sarshari (LA/LBO - EPFL) ........since 01.06.2015
+
+
+ GUI FOR RUNNING THE MOMENT ARM VISUALISATION TOOL
+--------------------------------------------------------------------------
+
+File Description :
+This is the main file for running the muscle moment-arms
+visualisation tool. From this file, all the moment arms of each muscle
+can be visualised.
+
+--------------------------------------------------------------------------
+
+File Structure :
+The file creates the figure in MAHandle. The uicontrols are added in
+MAGUIHandle and the axes are generated in MAVisualisationAxes. The axes
+are built such that clicking on an axes opens a figure containing the
+plot.
+
+--------------------------------------------------------------------------
+%}
+% Create a new figure
+MAHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model: Moment arms');
+
+MAGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.95, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'CLOSE GUI',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MOMENT_ARM_TOOL_script_generator('Close GUI'));
+
+MAGUIHandle.Save_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.9, 0.15, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'SAVE DATA',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MOMENT_ARM_TOOL_script_generator('Save Data'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE AXES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Initialise the MADATA structure
+MADATA = cell(42, 1);
+
+% Each element in the cell will contain a 9 x N matrix
+for MuscleId = 1:42
+ MADATA{MuscleId, 1}.MomentArms = cell(1,20);
+ MADATA{MuscleId, 1}.MomentArmsNum = cell(1,20);
+ MADATA{MuscleId, 1}.FDirection = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP = cell(1,20);
+ MADATA{MuscleId, 1}.ScapularPlane = cell(1,20);
+ for SegmentId = 1:20
+ MADATA{MuscleId, 1}.MomentArms{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MomentArmsNum{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.FDirection{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.MuscleLength(:,SegmentId) = zeros(size(KEDATA.Joint_Angle_Evolution,2),1);
+ MADATA{MuscleId, 1}.ScapularPlane_GnP{1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ MADATA{MuscleId, 1}.ScapularPlane {1,SegmentId} = zeros(size(KEDATA.Joint_Angle_Evolution,2),15);
+ end
+end
+
+% Central Axis
+MAVisualisationAxis.Central = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.064, 0.45, 0.8760],...
+ 'xcolor', 'white',...
+ 'ycolor', 'white');
+
+% Subclavius
+MAVisualisationAxis.Muscle(1,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.94, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 1, MADATA, KEDATA));
+
+% Serratus Anterior (Superior)
+MAVisualisationAxis.Muscle(2,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.72, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 2, MADATA, KEDATA));
+
+% Serratus Anterior (Middle)
+MAVisualisationAxis.Muscle(3,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.6650, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 3, MADATA, KEDATA));
+
+% Serratus Anterior (Inferior)
+MAVisualisationAxis.Muscle(4,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.445, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 4, MADATA, KEDATA));
+
+% Trapezius (C1 - C6)
+MAVisualisationAxis.Muscle(5,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 5, MADATA, KEDATA));
+
+% Trapezius (C7)
+MAVisualisationAxis.Muscle(6,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 6, MADATA, KEDATA));
+
+% Trapezius (T1 - T2)
+MAVisualisationAxis.Muscle(7,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.94, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 7, MADATA, KEDATA));
+
+% Trapezius (T3 - T7)
+MAVisualisationAxis.Muscle(8,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.8850, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 8, MADATA, KEDATA));
+
+% Levator Scapuale
+MAVisualisationAxis.Muscle(9,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.94, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 9, MADATA, KEDATA));
+
+% Rhomboid Minor
+MAVisualisationAxis.Muscle(10,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.35, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 10, MADATA, KEDATA));
+
+% Rhomboid Major (T1 - T2)
+MAVisualisationAxis.Muscle(11,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.5, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 11, MADATA, KEDATA));
+
+% Rhomboid Major (T3 - T4)
+MAVisualisationAxis.Muscle(12,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.009, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 12, MADATA, KEDATA));
+
+% Pectoralis Minor
+MAVisualisationAxis.Muscle(13,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.83, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 13, MADATA, KEDATA));
+
+% Pectoralis Major (Clavicular)
+MAVisualisationAxis.Muscle(14,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.2, 0.009, 0.15, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 14, MADATA, KEDATA));
+
+% Pectoralis Major (Sternal)
+MAVisualisationAxis.Muscle(15,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.0640, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 15, MADATA, KEDATA));
+
+% Pectoralis Major (Ribs)
+MAVisualisationAxis.Muscle(16,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.009, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 16, MADATA, KEDATA));
+
+% Latissimus Doris (Thoracic)
+MAVisualisationAxis.Muscle(17,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.6650, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 17, MADATA, KEDATA));
+
+% Latissimus Doris (Lumbar)
+MAVisualisationAxis.Muscle(18,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.61, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 18, MADATA, KEDATA));
+
+% Latissimus Doris (Iliae)
+MAVisualisationAxis.Muscle(19,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.555, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 19, MADATA, KEDATA));
+
+% Deltoid (Anterior)
+MAVisualisationAxis.Muscle(20,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.335, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 20, MADATA, KEDATA));
+
+% Deltoid (Middle)
+MAVisualisationAxis.Muscle(21,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.39, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 21, MADATA, KEDATA));
+
+% Deltoid (Posterior)
+MAVisualisationAxis.Muscle(22,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.83, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 22, MADATA, KEDATA));
+
+% Supraspinatus
+MAVisualisationAxis.Muscle(23,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.39, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 23, MADATA, KEDATA));
+
+% Infraspinatus
+MAVisualisationAxis.Muscle(24,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.335, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 24, MADATA, KEDATA));
+
+% Subscapularis
+MAVisualisationAxis.Muscle(25,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.8850, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 25, MADATA, KEDATA));
+
+% Teres Minor
+MAVisualisationAxis.Muscle(26,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.28, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 26, MADATA, KEDATA));
+
+% Teres Major
+MAVisualisationAxis.Muscle(27,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.225, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 27, MADATA, KEDATA));
+
+% Coracobrachialis
+MAVisualisationAxis.Muscle(28,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.7750, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 28, MADATA, KEDATA));
+
+% Triceps Brachii Long
+MAVisualisationAxis.Muscle(29,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.7750, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 29, MADATA, KEDATA));
+
+% Triceps Brachii Medial
+MAVisualisationAxis.Muscle(30,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.17, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 30, MADATA, KEDATA));
+
+% Triceps Brachii Lateral
+MAVisualisationAxis.Muscle(31,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.72, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 31, MADATA, KEDATA));
+
+% Biceps Brachii Short
+MAVisualisationAxis.Muscle(32,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.225, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 32, MADATA, KEDATA));
+
+% Biceps Brachii Long
+MAVisualisationAxis.Muscle(33,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.28, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 33, MADATA, KEDATA));
+
+% Brachialis
+MAVisualisationAxis.Muscle(34,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.61, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 34, MADATA, KEDATA));
+
+% Brachioradialis
+MAVisualisationAxis.Muscle(35,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.17, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 35, MADATA, KEDATA));
+
+% Supinator
+MAVisualisationAxis.Muscle(36,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.0640, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 36, MADATA, KEDATA));
+
+% Pronator Teres
+MAVisualisationAxis.Muscle(37,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.5, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 37, MADATA, KEDATA));
+
+% Flexor Carpi Radialis
+MAVisualisationAxis.Muscle(38,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.1190, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 38, MADATA, KEDATA));
+
+% Flexor Carpi Ulnaris
+MAVisualisationAxis.Muscle(39,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.445, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 39, MADATA, KEDATA));
+
+% Extensor Carpi Radialis Long
+MAVisualisationAxis.Muscle(40,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0, 0.555, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 40, MADATA, KEDATA));
+
+% Extensor Carpi Radialis Brevis
+MAVisualisationAxis.Muscle(41,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.1190, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 41, MADATA, KEDATA));
+
+% Extensor Carpi Ulnaris
+MAVisualisationAxis.Muscle(42,1) = axes(...
+ 'units', 'normalized',...
+ 'position', [0.65, 0.5, 0.2, 0.055],...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', 42, MADATA, KEDATA));
+
+% Create a help
+MAGUIHandle.Help(1,1) = uimenu(MAHandle,...
+ 'label', 'MOMENT-ARMS GUI HELP');
+MAGUIHandle.Help(2,1) = uimenu(MAGUIHandle.Help(1,1),...
+ 'label', 'About?',...
+ 'callback', MOMENT_ARM_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION CODE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Set the current axes
+set(MAHandle, 'currentaxes', MAVisualisationAxis.Central);
+
+% Get the current file path
+Cpath = pwd;
+
+% Differentiate for non unix systems
+if isunix
+ Cpath = [Cpath, '/LOGOS/MusclesFigure2.png'];
+else
+ Cpath = [Cpath, '\LOGOS\MusclesFigure2.png'];
+end
+
+% Load the image of the muscles
+Image = imread(Cpath);
+image(Image)
+set(gca, 'xcolor', 'white','ycolor', 'white');
+
+%--------------------------------------------------------------------------
+% Compute the moment arms
+%--------------------------------------------------------------------------
+% Create a waitbar to let the user know what's taking so long
+WBHandle = waitbar(0,'Computing Moment-Arms, please wait...');
+MADATA = MOMENT_ARM_TOOL_compute_all(MWDATA, BLDATA, KEDATA, WBHandle, SSDATA);
+delete(WBHandle);
+
+
+% first chose among the two available options for the kinematics
+if isfield(SSDATA, 'Joint_Angle_Reconstruction')
+ % Create the Time
+ JEA = SSDATA.Joint_Angle_Reconstruction;
+ Time = SSDATA.time;
+else
+ % option 1: use the joint angles acieved directly from the IK
+ JEA = KEDATA.Joint_Angle_Evolution;
+ Time = linspace(0, 1, size(KEDATA.Joint_Angle_Evolution,2));
+end
+
+
+% Define a time vector for plotting the lengths in the axes
+%Time = linspace(0, 1, size(KEDATA.Joint_Angle_Evolution,2));
+
+% Legend List
+LegendList = {...
+ 'Subclavius',...
+ 'Serratus Anterior (Sup.)',...
+ 'Serratus Anterior (Mid.)',...
+ 'Serratus Anterior (Inf.)',...
+ 'Trapezius (C1 - C6)',...
+ 'Trapezius (C7)',...
+ 'Trapezius (T1 - T2)',...
+ 'Trapezius (T3 - T7)',...
+ 'Levator Scapulae',...
+ 'Rhomboid Minor',...
+ 'Rhomboid Major (T1-T2)',...
+ 'Rhomboid Major (T3-T4)',...
+ 'Pectoralis Minor',...
+ 'Pectoralis Major (Clavicula)',...
+ 'Pectoralis Major (Sternal)',...
+ 'Pectoralis Major (Ribs)',...
+ 'Latissimus Dorsi (Thoracic)',...
+ 'Latissimus Dorsi (Lumbar)',...
+ 'Latissimus Dorsi (Iliae)',...
+ 'Deltoid (Anterior)',...
+ 'Deltoid (Middle)',...
+ 'Deltoid (Posterior)',...
+ 'Supraspinatus',...
+ 'Infraspinatus',...
+ 'Subscaularis',...
+ 'Teres Minor',...
+ 'Teres Major',...
+ 'Coracobrachialis',...
+ 'Triceps Brachii Long',...
+ 'Triceps Brachii Medial',...
+ 'Triceps Brachii Lateral',...
+ 'Biceps Brachii Short',...
+ 'Biceps Brachii Long',...
+ 'Brachialis',...
+ 'Brachioradialis',...
+ 'Supinator',...
+ 'Pronator Teres',...
+ 'Flexor Carpi Radialis',...
+ 'Flexor Carpi Ulnaris',...
+ 'Extensor Carpi Radialis Long',...
+ 'Extensor Carpi Radialis Brevis',...
+ 'Extensor Carpi Ulnaris'};
+
+% Set all the visualisation
+for MuscleId = 1:42
+ % Set the current axis
+ set(MAHandle, 'currentaxes', MAVisualisationAxis.Muscle(MuscleId,1));
+
+ % Create the plot
+ plot(Time', MADATA{MuscleId, 1}.MuscleLength(:,1), 'color', 'red', 'linewidth', 1);
+ %plot(Time', MADATA{MuscleId, 1}.MomentArms{1,1}(:,7:9), 'color', 'red', 'linewidth', 1);
+
+ % The axis properties must be reset.
+ set(gca,...
+ 'xtick', [],...
+ 'ytick', [],...
+ 'box', 'on',...
+ 'xlim', [0 max(Time)],...
+ 'buttondownfcn', MOMENT_ARM_TOOL_script_generator('View Data', MuscleId));
+ legend(LegendList{1,MuscleId});
+end
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_projection_matrices.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_projection_matrices.m
new file mode 100755
index 0000000..8e017a9
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_projection_matrices.m
@@ -0,0 +1,96 @@
+function TPmat = MOMENT_ARM_TOOL_projection_matrices(JEA)
+%{
+Function for computing the virtual displacement projection matrices
+--------------------------------------------------------------------------
+Syntax :
+TPmat = MOMENT_ARM_TOOL_projection_matrices(JEA)
+--------------------------------------------------------------------------
+Function Description :
+This function computes the projection matrices for MOMENT_ARM_TOOL_compute_all.
+There are five matrices grouped into a larger diagonal matrix. The
+matrixes are the jacobians of the angular velocity vectors defined in
+the inertial frame. These matrices are used here to project the moment arms
+computed by the tendon excursion method into the absolute referenc
+system. A brief review of this method is given in
+MOMENT_ARM_TOOL_compute_all.
+--------------------------------------------------------------------------
+%}
+
+% Initialise the output
+TPmat = [];
+
+% Get the SC Joint Angles
+psic = JEA(1); thetac = JEA(2); phic = JEA(3);
+
+% Get the AC Joint Angles
+psis = JEA(4); thetas = JEA(5); phis = JEA(6);
+
+% Get the GH Joint Angles
+psih = JEA(7); thetah = JEA(8); phih = JEA(9);
+
+% Get the HU Joint Angles
+psiu = JEA(10);
+
+% Get the RU Joint Angles
+psir = JEA(11);
+
+% Projection Matrix associated to the SC joint
+Pc = [cos(phic)*cos(thetac), -sin(phic), 0;
+ sin(phic)*cos(thetac), cos(phic), 0;
+ -sin(thetac), 0, 1];
+
+% Projection Matrix associated to the AC joint
+Ps = [cos(phis)*cos(thetas), -sin(phis), 0;
+ sin(phis)*cos(thetas), cos(phis), 0;
+ -sin(thetas), 0, 1];
+
+% Projection Matrix associated to the GH joint
+Ph = [cos(phih)*sin(thetah), -sin(phih), 0;
+ sin(phih)*sin(thetah), cos(phih), 0;
+ cos(thetah), 0, 1];
+
+% Projection Matrix associated to the HU joint
+% The partial velocity vectors that build the so-called projection matrix
+% are in essense the unit vectors about whose directions the Euler angle
+% transformations were conducted. Therefore, e_psiu = dW/ddq is equal to
+% the unit vector along the x axis of the ulna fixed-body frame. That is
+% the first column of rotation matrix Ru.
+% Humerus Matrix
+Rhz = [cos(psih), -sin(psih), 0;
+ sin(psih), cos(psih), 0;
+ 0, 0, 1];
+
+Rhy = [cos(thetah), 0, -sin(thetah);
+ 0, 1, 0;
+ sin(thetah), 0, cos(thetah)];
+
+Rhzz = [cos(phih), -sin(phih), 0;
+ sin(phih), cos(phih), 0;
+ 0, 0, 1];
+
+Rh = Rhzz*Rhy'*Rhz;
+
+Rux = [1, 0, 0;
+ 0, cos(psiu), -sin(psiu);
+ 0, sin(psiu), cos(psiu)];% ulna to the proximal segment (humerus)
+
+Ru = Rh*Rux; % ulna to the inertial frame (thorax)
+
+Pu = Ru(:,1);
+
+% Projection Matrix associated to the RU joint
+Rrz = [cos(psir), -sin(psir), 0;
+ sin(psir), cos(psir), 0;
+ 0, 0, 1]; % radius to the proximal segment (ulna)
+
+Rr = Ru*Rrz; % radius to the inertial frame (thorax)
+
+Pr = Rr(:,3); % psir performs around the z axis of the radius fixed-body frame.
+
+% Larger diagonal matrix containing all three matrices
+TPmat = [Pc', zeros(3,12);
+ zeros(3,3), Ps', zeros(3,9);
+ zeros(3,6), Ph', zeros(3,6);
+ zeros(1,9), Pu', zeros(1,3);
+ zeros(1,12) , Pr'];
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_script_generator.m
new file mode 100755
index 0000000..5adc3cf
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Moment_Arms/MOMENT_ARM_TOOL_script_generator.m
@@ -0,0 +1,91 @@
+function CBScript = MOMENT_ARM_TOOL_script_generator(task, varargin)
+%{
+Uicontrol callback script generator for the moment-arm tool GUI.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = MOMENT_ARM_TOOL_script_generator(task, varargin)
+--------------------------------------------------------------------------
+
+
+Function Description :
+This function generates scripts for the moment-arm GUI uicontrols.
+MATLAB's uicontrols (pushbuttons, edit boxes, etc...) allow for a script
+to be executed when the user interacts with them. The script is called
+callback. The scripts are generated as text arrays. The task input
+variable inidicates which script to return. No other inputs are
+necessary.
+The list of possible tasks is the following :
+
+ 1) Close GUI
+ 2) View Moment-Arm Data
+ 2) Save Moment-Arm Data
+ 3) GUI Help
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the moment arm GUI
+% Closes the GUI and deletes unsused variables
+%--------------------------------------------------------------------------
+if isequal(task, 'Close GUI')
+ CBScript = [...
+ 'clear MAGUIHandle;',...
+ 'clear MAPlotHandles;',...
+ 'clear MAVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear MAHandle;'];
+%--------------------------------------------------------------------------
+% Task 2 : View Data when clicked
+% This script is run when a figure is clicked on.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'View Data')
+ % Get the Muscle Id number
+ MuscleId = varargin{1,1};
+
+ % Define the script
+ CBScript = [...
+ 'MuscleId = ', num2str(MuscleId), ';',...
+ 'MOMENT_ARM_TOOL_click_figure_script;'];
+
+%--------------------------------------------------------------------------
+% Task 3 : Save Moment-Arm Data
+% This script saves the moment-arm data
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Data')
+ CBScript = [...
+ 'CurrentFolder = pwd;',...
+ 'if isunix;',...
+ 'save([CurrentFolder, ''/Data_Structures_and_Documentation/MADATA.mat''], ''MADATA'');',...
+ 'else;',...
+ 'save([CurrentFolder, ''\Data_Structures_and_Documentation\MADATA.mat''], ''MADATA'');',...
+ 'end;'];
+%--------------------------------------------------------------------------
+% Task 4 : Help
+% Script displayed in the command window when the GUI help menu is clicked
+% on.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------------ MOMENT-ARMS TOOL ----------------------\n'', '...
+ ' ''This is a GUI for computing and viewing the moment-arms. By clicking\n'', ',...
+ ' ''on the different figures, you open larger views of the selected moment-arms.\n'', ',...
+ ' ''The save data button lets you save the moment arm data.'']);',...
+ 'disp(ans);'];
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'MOMENT_ARM_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close GUI,\n',...
+ '2) View Data,\n',...
+ '3) Save Data,\n',...
+ '4) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_adjust_radius.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_adjust_radius.m
new file mode 100755
index 0000000..841c294
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_adjust_radius.m
@@ -0,0 +1,91 @@
+function [Robj, rflag] = MUSCLE_TOOL_adjust_radius(Pv, Sv, O, R, Mobj, type)
+% UICONTROL Callback computes an adjusted radius for wrapping (if necess.)
+%--------------------------------------------------------------------------
+% Syntax :
+% [Robj, rflag] = MUSCLE_TOOL_adjust_radius(Pv, Sv, O, R, Mobj, type)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function computes a new object radius if necessary for the muscle.
+% This is done such that if an origin or insertion point penetrates the
+% object surface, the wrapping still occurs but with a reduced radius.
+%
+%--------------------------------------------------------------------------
+Robj = 0;
+rflag = 0; % Inidicates if the radius changes
+
+if isequal(type, 'single')
+
+ % Rotate insertion and origin into object frame
+ p = Mobj'*(Pv - O); px = p(1); py = p(2); pz = p(3);
+ s = Mobj'*(Sv - O); sx = s(1); sy = s(2); sz = s(3);
+
+ Rp = sqrt(px^2 + py^2);
+ Rs = sqrt(sx^2 + sy^2);
+ Robj = min([Rp, Rs, abs(R)]);
+ Robj = sign(R)*Robj;
+
+ if isequal(Robj, R) == 0
+ rflag = 1;
+ end
+
+elseif isequal(type, 'double')
+ % Get the Data
+ Ou = O(:,1); Ru = R(1);
+ Ov = O(:,2); Rv = R(2);
+
+ % Object Rotation Matrices
+ Mu = Mobj(:,1:3);
+ Mv = Mobj(:,4:6);
+
+ % Rotate insertion and origin into object frame
+ p = Mu'*(Pv - Ou); px = p(1); py = p(2); pz = p(3);
+ s = Mv'*(Sv - Ov); sx = s(1); sy = s(2); sz = s(3);
+
+ Rp = sqrt(px^2 + py^2);
+ Rs = sqrt(sx^2 + sy^2);
+
+ Robju = min([Rp, abs(Ru)]);
+ Robj(1) = sign(Ru)*Robju;
+
+ Robjv = min([Rs, abs(Rv)]);
+ Robj(2) = sign(Rv)*Robjv;
+
+ if isequal(Robj(1), Ru) == 0 || isequal(Robj(2), Rv) == 0
+ rflag = 1;
+ end
+elseif isequal(type, 'stub')
+ % Rotate insertion and origin into object frame
+ p = Mobj'*(Pv - O); px = p(1); py = p(2); pz = p(3);
+ s = Mobj'*(Sv - O); sx = s(1); sy = s(2); sz = s(3);
+
+ if sz >= 0 && pz >= 0
+ Rs = norm(s);
+ Rp = norm(p);
+ Robj = min([Rp, Rs, abs(R)]);
+ Robj = sign(R)*(Robj);
+ elseif sz >= 0 && pz < 0
+
+ Rp = sqrt(px^2 + py^2);
+ Rs = sqrt(sx^2 + sy^2 + sz^2);
+ Robj = min([Rp, Rs, abs(R)]);
+ Robj = sign(R)*(Robj);
+ elseif sz < 0 && pz >= 0
+
+ Rp = sqrt(px^2 + py^2 + pz^2);
+ Rs = sqrt(sx^2 + sy^2);
+ Robj = min([Rp, Rs, abs(R)]);
+ Robj = sign(R)*(Robj);
+ elseif sz < 0 && pz < 0
+ Rp = sqrt(px^2 + py^2);
+ Rs = sqrt(sx^2 + sy^2);
+ Robj = min([Rp, Rs, abs(R)]);
+ Robj = sign(R)*(Robj);
+ end
+
+ if isequal(Robj, R) == 0
+ rflag = 1;
+ end
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_build_muscle.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_build_muscle.m
new file mode 100755
index 0000000..56575ad
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_build_muscle.m
@@ -0,0 +1,101 @@
+function MWDATA = MUSCLE_TOOL_build_muscle(MGUIHandle, MWDATA_in, MuscleId)
+% UICONTROL Callback constructs the muscle segements from muscle GUI
+%--------------------------------------------------------------------------
+% Syntax :
+% MWDATA = MUSCLE_TOOL_build_muscle(MGUIHandle, MWDATA_in, MuscleId)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function constructs the muscle data given the user input from the
+% muscle tool gui.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MWDATA = MWDATA_in;
+
+% Get the visulisation option
+MWDATA{MuscleId,1}.MSCInfo.Visualise = get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId,2), 'Checked');
+
+% Get the object visulisation option
+MWDATA{MuscleId,1}.MSCInfo.ObjectVisualise = get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId,3), 'Checked');
+
+% Get the object radius scaling factor
+%MWDATA{MuscleId,1}.MSCInfo.Rscale = get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId,6), 'UserData')/2;
+MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale = get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId,6), 'UserData');
+
+InterpTypes = {'Linear', 'Bi-Linear', '3rd Order'};
+
+% Get the Interpolation & Number of muscle segments
+for i = 1:20
+ % Get the Interpolation type
+ if i < 4
+ Status = get(MGUIHandle.Muscle_Wrap_Menu.Interpolation(MuscleId,i), 'Checked');
+
+ if isequal(Status, 'on')
+ MWDATA{MuscleId,1}.MSCInfo.InterpType = InterpTypes{1,i};
+ else
+ end
+ % Get the Number of Muscle Segements
+ NbSeg = get(MGUIHandle.Muscle_Wrap_Menu.SegNumber(MuscleId,i), 'Checked');
+ if isequal(NbSeg, 'on')
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments = i;
+ else
+ end
+ else
+ % Get the Number of Muscle Segements
+ NbSeg = get(MGUIHandle.Muscle_Wrap_Menu.SegNumber(MuscleId,i), 'Checked');
+ if isequal(NbSeg, 'on')
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments = i;
+ else
+ end
+ end
+end
+
+% Build the Interpolation for the origins
+WayPoints.Origin = MUSCLE_TOOL_spline_build(...
+ MWDATA{MuscleId,1}.AnchorOrigin,...
+ MWDATA{MuscleId,1}.MSCInfo.InterpType,...
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments);
+
+% Build the Interpolation for the Insertion
+WayPoints.Insertion = MUSCLE_TOOL_spline_build(...
+ MWDATA{MuscleId,1}.AnchorInsertion,...
+ MWDATA{MuscleId,1}.MSCInfo.InterpType,...
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments);
+
+% Build the Interpolation for the Via points A
+if isempty(MWDATA{MuscleId,1}.AnchorViaA{1,1}) == 0
+ WayPoints.ViaA = MUSCLE_TOOL_spline_build(...
+ MWDATA{MuscleId,1}.AnchorViaA,...
+ MWDATA{MuscleId,1}.MSCInfo.InterpType,...
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments);
+else
+end
+
+% Build the Interpolation for the Via points B
+if isempty(MWDATA{MuscleId,1}.AnchorViaB{1,1}) == 0
+ WayPoints.ViaB = MUSCLE_TOOL_spline_build(...
+ MWDATA{MuscleId,1}.AnchorViaB,...
+ MWDATA{MuscleId,1}.MSCInfo.InterpType,...
+ MWDATA{MuscleId,1}.MSCInfo.NbSegments);
+else
+end
+
+% Fill the usable points
+for i = 1:MWDATA{MuscleId,1}.MSCInfo.NbSegments
+ MWDATA{MuscleId,1}.Origin{1,i} = WayPoints.Origin(:,i);
+ MWDATA{MuscleId,1}.Insertion{1,i} = WayPoints.Insertion(:,i);
+
+ if isempty(MWDATA{MuscleId,1}.AnchorViaA{1,1}) == 0
+ MWDATA{MuscleId,1}.ViaA{1,i} = WayPoints.ViaA(:,i);
+ else
+ end
+
+ if isempty(MWDATA{MuscleId,1}.AnchorViaB{1,1}) == 0
+ MWDATA{MuscleId,1}.ViaB{1,i} = WayPoints.ViaB(:,i);
+ else
+ end
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_teta_w.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_teta_w.m
new file mode 100755
index 0000000..6701ee4
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_teta_w.m
@@ -0,0 +1,51 @@
+function [Wv, teta_p, teta_q, teta_s, teta_w, qx, qy] = MUSCLE_TOOL_compute_teta_w(Mobj, Ov, px, py, pz, sx, sy, sz, Rv)
+% Function for computing the point W for the stub wrapping algorithm.
+%--------------------------------------------------------------------------
+% Syntax :
+% [Wv, teta_p, teta_q, teta_s, teta_w, qx, qy] = MUSCLE_TOOL_compute_teta_w(Mobj, Ov, px, py, pz, sx, sy, sz, Rv)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function computes the point W on the sphere-cylinder interface. This
+% function is used by the stub wrapping algorithm.
+%
+%--------------------------------------------------------------------------
+
+% Compute the XY coordinates of Q
+qx = px*Rv^2 - Rv*py*sqrt(px^2 + py^2 - Rv^2); qx = real(qx/(px^2 + py^2));
+qy = py*Rv^2 + Rv*px*sqrt(px^2 + py^2 - Rv^2); qy = real(qy/(px^2 + py^2));
+
+% Iteratively compute theta_w
+teta_s = atan2(sy,sx);
+teta_p = atan2(py,px);
+teta_q = atan2(qy,qx);
+teta_w = teta_p - (teta_s - teta_p)*pz/(sz - pz);
+
+%return;
+Tol = 1.e-6;
+Err = 1;
+Niter = 1000;
+k = 1;
+while Err > Tol && k < Niter
+ % Compute the values of the function
+ f = (-pz*sqrt(sx^2 + sy^2))*sin(teta_w - teta_s) + (sz*abs(Rv))*(teta_w - teta_q) + (sz*sqrt((px - qx)^2 + (py - qy)^2))*sign(Rv);
+ df = (-pz*sqrt(sx^2 + sy^2))*cos(teta_w - teta_s) + (sz*abs(Rv));
+
+ % Update the value of thete_w
+ teta_w = teta_w - f/df;
+
+ % Update the error
+ Err = abs(f/df);
+ k = k+1;
+end
+
+% Compute the position of W
+wx = abs(Rv)*cos(teta_w);
+wy = abs(Rv)*sin(teta_w);
+wz = 0;
+qz = wz + abs(Rv*(teta_w - teta_q))*pz/(abs(Rv*(teta_w - teta_q)) + sqrt((px - qx)^2 + (py - qy)^2));
+
+% Compute W in original frame
+Wv = Mobj*[wx; wy; wz] + Ov;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_wrapping.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_wrapping.m
new file mode 100755
index 0000000..753e132
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_compute_wrapping.m
@@ -0,0 +1,222 @@
+function [WRDATA] = MUSCLE_TOOL_compute_wrapping(BLDATA, MWDATA)
+% UICONTROL Callback computes the muscle wrapping
+%--------------------------------------------------------------------------
+% Syntax :
+% [WRDATA, MWDATA] = MUSCLE_TOOL_compute_wrapping(BLDATA, MWDATAin)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function computes the muscle wrapping using the obstacle set
+% methods.
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+WRDATA.PathPoints = [];
+WRDATA.PathRefList = [];
+WRDATA.PathLength = 0;
+
+% Create the list of already known points
+PointsList = [MWDATA.Origin, MWDATA.ViaA, MWDATA.ViaB, MWDATA.Insertion];
+RefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ViaBRef, MWDATA.InsertionRef];
+
+% Transform the list of points to the absolute reference frame
+PointsList = MUSCLE_TOOL_geometry_functions('Rotate Points To Absolute Frame', BLDATA, MWDATA, PointsList, RefList);
+
+% Get the Object Centre in the absolute reference frame
+Object_Centre = MUSCLE_TOOL_geometry_functions('Rotate Object Centre To Absolute Frame', BLDATA, MWDATA, PointsList, RefList);
+
+% Get the Object Rotation Matrix
+Object_Rotation_Matrix = MUSCLE_TOOL_geometry_functions('Construct Object Rotation Matrix', BLDATA, MWDATA, PointsList, RefList);
+
+%--------------------------------------------------------------------------
+% The Muscle Has no Wrapping
+% NO WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+if isequal(MWDATA.ObjectType, 'none')
+ % Set the list of points as the output
+ WRDATA.PathPoints = PointsList;
+ WRDATA.PathRefList = RefList;
+
+
+ % Compute the length
+ WRDATA.PathLength = 0;
+ for i = 1:size(PointsList,2)-1
+ WRDATA.PathLength = WRDATA.PathLength + norm(PointsList(:,i+1) - PointsList(:,i));
+ end
+%--------------------------------------------------------------------------
+% The Muscle has a Wrapping
+% SINGLE CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA.ObjectType, 'single')
+ % Identify which end-points should be used
+ Origin = zeros(3,1);
+ Insertion = zeros(3,1);
+ OriginFlag = [];
+ InsertionFlag = [];
+
+ % There is no Via point A
+ if isempty(MWDATA.ViaA)
+ Origin = PointsList(:,1);
+ OriginFlag = [];
+ else
+ Origin = PointsList(:,2);
+ OriginFlag = 1;
+ WRDATA.PathLength = norm(PointsList(:,2) - PointsList(:,1));
+ end
+
+ % There is no Via point B
+ if isempty(MWDATA.ViaB)
+ Insertion = PointsList(:,end);
+ InsertionFlag = [];
+ else
+ Insertion = PointsList(:,end-1);
+ InsertionFlag = size(PointsList,2);
+ WRDATA.PathLength = WRDATA.PathLength + norm(PointsList(:,end) - PointsList(:,end-1));
+ end
+
+ % Adjust the wrapping radius
+ [Robj, rflag] = MUSCLE_TOOL_adjust_radius(...
+ Origin, Insertion, Object_Centre, MWDATA.ObjectRadii, Object_Rotation_Matrix, 'single');
+
+ % Compute the Wrapping
+ [PATH, Length, wflag] = MUSCLE_TOOL_cylinder_wrap(...
+ Origin, Insertion, Object_Centre, Robj, Object_Rotation_Matrix, MWDATA.NbPlot);
+
+ % Define the Total Muscle Length
+ WRDATA.PathLength = WRDATA.PathLength + Length;
+
+ % Define the Full Path
+ WRDATA.PathPoints = [PointsList(:,OriginFlag), PATH, PointsList(:,InsertionFlag)];
+
+ % Create the list of reference for each point
+ if wflag ~= 0
+ WRDATA.PathRefList = RefList;
+ else
+ WRDATA.PathRefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ObjectRef*ones(1,size(PATH,2)-2), MWDATA.ViaBRef, MWDATA.InsertionRef];
+ end
+
+%--------------------------------------------------------------------------
+% The Muscle has a Wrapping
+% DOUBLE CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA.ObjectType, 'double')
+ Origin = zeros(3,1);
+ Insertion = zeros(3,1);
+ OriginFlag = [];
+ InsertionFlag = [];
+
+ % There is no Via point A
+ if isempty(MWDATA.ViaA)
+ Origin = PointsList(:,1);
+ OriginFlag = [];
+ else
+ Origin = PointsList(:,2);
+ OriginFlag = 1;
+ WRDATA.PathLength = norm(PointsList(:,2) - PointsList(:,1));
+ end
+
+ % There is no Via point B
+ if isempty(MWDATA.ViaB)
+ Insertion = PointsList(:,end);
+ InsertionFlag = [];
+ else
+ Insertion = PointsList(:,end-1);
+ InsertionFlag = size(PointsList,2);
+ WRDATA.PathLength = WRDATA.PathLength + norm(PointsList(:,end) - PointsList(:,end-1));
+ end
+
+ % Adjust the wrapping radius
+ [Robj, rflag] = MUSCLE_TOOL_adjust_radius(...
+ Origin, Insertion, Object_Centre, MWDATA.ObjectRadii, Object_Rotation_Matrix, 'double');
+
+ % Compute the Wrapping
+ [PATH, Length, wflag] = MUSCLE_TOOL_dcylinder_wrap(...
+ Origin, Insertion, Object_Centre, Robj, Object_Rotation_Matrix, MWDATA.NbPlot);
+
+ % Define the Total Muscle Length
+ WRDATA.PathLength = WRDATA.PathLength + Length;
+
+ % Define the Full Path
+ WRDATA.PathPoints = [PointsList(:,OriginFlag), PATH, PointsList(:,InsertionFlag)];
+
+ % Generate the Wrapping reference defnitions
+ if wflag == 4
+ WRDATA.PathRefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ObjectRef(1)*ones(1,MWDATA.NbPlot), MWDATA.ObjectRef(2)*ones(1,MWDATA.NbPlot), MWDATA.ViaBRef, MWDATA.InsertionRef];
+ elseif wflag == 3
+ WRDATA.PathRefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ObjectRef(2)*ones(1,size(PATH,2)-2), MWDATA.ViaBRef, MWDATA.InsertionRef];
+ elseif wflag == 2
+ WRDATA.PathRefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ObjectRef(1)*ones(1,size(PATH,2)-2), MWDATA.ViaBRef, MWDATA.InsertionRef];
+ elseif wflag == 1
+ WRDATA.PathRefList = RefList;
+ end
+%--------------------------------------------------------------------------
+% The muscle has a wrapping
+% SPHERE CAPPED CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA.ObjectType, 'stub')
+ Origin = zeros(3,1);
+ Insertion = zeros(3,1);
+ OriginFlag = [];
+ InsertionFlag = [];
+
+ % There is no Via point A
+ if isempty(MWDATA.ViaA)
+ Origin = PointsList(:,1);
+ OriginFlag = [];
+ else
+ Origin = PointsList(:,2);
+ OriginFlag = 1;
+ WRDATA.PathLength = norm(PointsList(:,2) - PointsList(:,1));
+ end
+
+ % There is no Via point B
+ if isempty(MWDATA.ViaB)
+ Insertion = PointsList(:,end);
+ InsertionFlag = [];
+ else
+ Insertion = PointsList(:,end-1);
+ InsertionFlag = size(PointsList,2);
+ WRDATA.PathLength = WRDATA.PathLength + norm(PointsList(:,end) - PointsList(:,end-1));
+ end
+
+ % Adjust the wrapping radius
+ [Robj, rflag] = MUSCLE_TOOL_adjust_radius(...
+ Origin, Insertion, Object_Centre, MWDATA.ObjectRadii, Object_Rotation_Matrix, 'stub');
+
+ % Change direction? STUB wrapping must have S always with Sz > Pz.
+ p = Object_Rotation_Matrix'*(Origin - Object_Centre);
+ s = Object_Rotation_Matrix'*(Insertion - Object_Centre);
+
+ Switchflag = 0;
+ if p(3) > s(3)
+ Sv = Origin;
+ Origin = Insertion;
+ Insertion = Sv;
+ Switchflag = 1;
+
+ end
+ % Compute the Wrapping
+ [PATH, Length, wflag] = MUSCLE_TOOL_stub_wrap(...
+ Origin, Insertion, Object_Centre, Robj, Object_Rotation_Matrix, MWDATA.NbPlot, Switchflag);
+
+ % Define the Full Path
+ if Switchflag == 1
+ WRDATA.PathPoints = [PointsList(:,OriginFlag), PATH(:,end:-1:1), PointsList(:,InsertionFlag)];
+ else
+ WRDATA.PathPoints = [PointsList(:,OriginFlag), PATH, PointsList(:,InsertionFlag)];
+ end
+ % Define the Total Muscle Length
+ WRDATA.PathLength = WRDATA.PathLength + Length;
+
+ if size(PATH,2) > 2
+ WRDATA.PathRefList = [MWDATA.OriginRef, MWDATA.ViaARef, MWDATA.ObjectRef*ones(1,size(PATH,2)-2), MWDATA.ViaBRef, MWDATA.InsertionRef];
+ else
+ WRDATA.PathRefList = RefList;
+ end
+else
+end
+return
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_cylinder_wrap.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_cylinder_wrap.m
new file mode 100755
index 0000000..9aa5ad1
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_cylinder_wrap.m
@@ -0,0 +1,120 @@
+function [PATH, Length, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Sv, Ov, Rv, Mobj, Np)
+% UICONTROL Callback SINGLE-CYLINDER WRAPPING ALGORITHM
+%--------------------------------------------------------------------------
+% Syntax :
+% [PATH, Length, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Sv, Ov, Rv, Mobj, Np)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function is the single-cylinder wrapping algorithm from the obstacle
+% set method.
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+PATH = []; % All points along the path
+Length = []; % Length of path (or more precisely the lenght of the obstacle path)
+wflag = 0; % flag indicating if the wrapping occurs or not
+ % 0 : wrapping. 1 : no wrapping, 2: point inside cylinder
+
+%--------------------------------------------------------------------------
+%********* STEP 1 : Compute the insertion & Origin points in object frame
+%--------------------------------------------------------------------------
+% Compute transformed points
+p = Mobj'*(Pv - Ov); px = p(1); py = p(2); pz = p(3);
+s = Mobj'*(Sv - Ov); sx = s(1); sy = s(2); sz = s(3);
+
+%--------------------------------------------------------------------------
+%********* STEP 2 : Compute wrapping contact points & Test Wrapping condition
+%--------------------------------------------------------------------------
+Qx = px*Rv^2 - Rv*py*sqrt(px^2 + py^2 - Rv^2); Qx = real(Qx/(px^2 + py^2));
+Qy = py*Rv^2 + Rv*px*sqrt(px^2 + py^2 - Rv^2); Qy = real(Qy/(px^2 + py^2));
+
+Tx = sx*Rv^2 + Rv*sy*sqrt(sx^2 + sy^2 - Rv^2); Tx = real(Tx/(sx^2 + sy^2));
+Ty = sy*Rv^2 - Rv*sx*sqrt(sx^2 + sy^2 - Rv^2); Ty = real(Ty/(sx^2 + sy^2));
+
+%--------------------------------------------------------------------------
+%********* STEP 3 : Compute wrapping contact points in object frame
+%--------------------------------------------------------------------------
+QTxy = abs(abs(Rv)*acos(1 - ((Qx - Tx)^2 + (Qy - Ty)^2)/(2*Rv^2)));
+PQxy = sqrt((Qx - px)^2 + (Qy - py)^2);
+TSxy = sqrt((Tx - sx)^2 + (Ty - sy)^2);
+
+Qz = pz + (sz - pz)*PQxy/(PQxy + QTxy + TSxy);
+Tz = sz - (sz - pz)*TSxy/(PQxy + QTxy + TSxy);
+
+Q = [Qx; Qy; Qz];
+T = [Tx; Ty; Tz];
+
+% Does the wrapping occure?
+if Rv*(Qx*Ty - Qy*Tx) < 0
+ %disp('Wrapping does Not Occur');
+ Length = norm(Pv - Sv);
+ PATH = [Pv, Sv];
+ wflag = 1;
+ return;
+end
+
+%--------------------------------------------------------------------------
+%********* STEP 4 : Compute length
+%--------------------------------------------------------------------------
+% Entire lenght of muscle
+Length = norm(Q - p) + sqrt(QTxy^2 + (Tz - Qz)^2) + norm(s - T);
+
+%--------------------------------------------------------------------------
+%********* STEP 5 : Construct Wrapping Path
+%--------------------------------------------------------------------------
+% Rotate Txy & Qxy into a plane where Sx is the X-axis
+Mpx = [sx; sy; 0];
+Mpz = [0; 0; 1];
+Mpy = cross(Mpz, Mpx);
+Mp = [Mpx/norm(Mpx), Mpy/norm(Mpy), Mpz/norm(Mpz)];
+
+% Transform the wrapping points into this frame
+Tp = Mp'*[Tx; Ty; 0];
+Qp = Mp'*[Qx; Qy; 0];
+Pp = Mp'*[px; py; 0];
+
+% Compute the angles
+teta_T = atan2(Tp(2), Tp(1));
+teta_Q = atan2(Qp(2), Qp(1));
+teta_P = atan2(Pp(2), Pp(1));
+
+% Define the change in circular coordinate and z-axis coordinate
+teta = zeros(1,Np);
+Zc = linspace(Qz, Tz, Np);
+
+% Test the quadrant location of T & Q
+% |
+% II | I
+% |
+% -------------------
+% |
+% III | IV
+% |
+if teta_T > 1.e-6 % T is I or II
+ if teta_Q < -1.e-6 % Q is III or IV: Correct
+ teta_Q = teta_Q + 2*pi;
+ end
+ teta = linspace(teta_Q, teta_T, Np);
+elseif abs(teta_T) < 1.e-6
+ teta = linspace(teta_Q, teta_T, Np);
+else % T is III or IV
+ if teta_Q > 1.e-6 % Q is I or II: Correct
+ teta_Q = teta_Q - 2*pi;
+ end
+ teta = linspace(teta_Q, teta_T, Np);
+end
+
+% Build the path
+PATH = [Pv, (Mobj*Mp*[abs(Rv)*cos(teta); abs(Rv)*sin(teta); Zc]+diag(Ov)*ones(3,Np)), Sv];
+
+% Avoid duplicate points
+if norm(PATH(:,2) - PATH(:,1)) < 1.e-6
+ PATH = PATH(:,2:end);
+end
+
+if norm(PATH(:,end) - PATH(:,end-1)) < 1.e-6
+ PATH = PATH(:,1:end-1);
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_dcylinder_wrap.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_dcylinder_wrap.m
new file mode 100755
index 0000000..40a8431
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_dcylinder_wrap.m
@@ -0,0 +1,131 @@
+function [PATH, Length, wflag] = MUSCLE_TOOL_dcylinder_wrap(P, S, O, R, Mobj, Np)
+% UICONTROL Callback DOUBLE-CYLINDER WRAPPING ALGORITHM
+%--------------------------------------------------------------------------
+% Syntax :
+% [PATH, Length, wflag] = MUSCLE_TOOL_dcylinder_wrap(P, S, O, R, Mobj, Np)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function is the double-cylinder wrapping algorithm from the obstacle
+% set method.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+PATH = [];
+Length = [];
+wflag = 0;
+
+%--------------------------------------------------------------------------
+%********* STEP 1 : Compute Object rotation Matrices
+%--------------------------------------------------------------------------
+% Get the Data
+Ou = O(:,1); Ru = R(1);
+Ov = O(:,2); Rv = R(2);
+
+% Define the Objet to Absolute rotation matrices
+Mu = Mobj(:,1:3);
+Mv = Mobj(:,4:6);
+
+%--------------------------------------------------------------------------
+%********* STEP 2 : Run an interation loop to find intermediate points G & H
+%--------------------------------------------------------------------------
+% Loop Parameters
+Err = 1; Tol = 1.e-7; Kiter = 1;
+Uact = 0;
+Vact = 0;
+teta = 3*pi/4;
+
+% Take a guess at Hv (in V-cylinder frame)
+Hv = [abs(Rv)*cos(teta); abs(Rv)*sin(teta); 0];
+H = Mv*Hv + Ov;
+
+% Run a search loop
+while Err > Tol && Kiter < 200
+
+ % Compute the U-cylinder wrapping
+ [PATHu, Lengthu] = MUSCLE_TOOL_cylinder_wrap(P, H, Ou, Ru, Mu, Np);
+
+ % Get the Value of G
+ G = PATHu(:,end-1);
+
+ % If wrapping occured Set Marker
+ if size(PATHu,2) > 2
+ Uact = 1;
+ else
+ Uact = 0;
+ end
+
+ % Compute the V-cylinder wrapping
+ [PATHv, Lengthv] = MUSCLE_TOOL_cylinder_wrap(G, S, Ov, Rv, Mv, Np);
+
+ % If wrapping occured Set Marker
+ if size(PATHv,2) > 2
+ Vact = 1;
+ else
+ Vact = 0;
+ end
+
+ % Get the new value of H & update the error
+ Err = norm(H - PATHv(:,2));
+ H = PATHv(:,2);
+
+ Kiter = Kiter + 1;
+end
+
+% Get the Intermediary points
+G = PATHu(:,end-1);
+H = PATHv(:,2);
+
+%--------------------------------------------------------------------------
+% STEP 3 : Compute the Final Wrapping
+if Uact == 1 && Vact == 1 % Both U & V-cylinders
+ % Re-compute the wrappings to be sure
+ [PATHu, Lengthu] = MUSCLE_TOOL_cylinder_wrap(P, H, Ou, Ru, Mu, Np);
+ [PATHv, Lengthv] = MUSCLE_TOOL_cylinder_wrap(G, S, Ov, Rv, Mv, Np);
+
+ % Define the path
+ PATH = [PATHu, PATHv(:,3:end)];
+
+ % Compute the length
+ Length = Lengthu + Lengthv - norm(H - G);
+
+ % Set the flag
+ wflag = 4;
+ %-----------------------------------------------------
+elseif Uact == 0 && Vact == 1 % Only V-cylinder
+ [PATHv, Lengthv] = MUSCLE_TOOL_cylinder_wrap(P, S, Ov, Rv, Mv, Np);
+
+ % Define the path
+ PATH = PATHv;
+
+ % Compute the length
+ Length = Lengthv;
+
+ % Set the flag
+ wflag = 3;
+ %-----------------------------------------------------
+elseif Uact == 1 && Vact == 0 % Only U-cylinder
+
+ [PATHu, Lengthu] = MUSCLE_TOOL_cylinder_wrap(P, S, Ou, Ru, Mu, Np);
+
+ % Define the path
+ PATH = PATHu;
+
+ % Compute the length
+ Length = Lengthu;
+
+ % Set the flag
+ wflag = 2;
+ %-----------------------------------------------------
+elseif Uact == 0 && Vact == 0 % Neither Cylinder
+ % Define the path
+ PATH = [P, S];
+
+ % Compute the length
+ Length = norm(S - P);
+
+ % Set the flag
+ wflag = 1;
+else
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_geometry_functions.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_geometry_functions.m
new file mode 100755
index 0000000..13b28c4
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_geometry_functions.m
@@ -0,0 +1,152 @@
+function Output = MUSCLE_TOOL_geometry_functions(Task, BLDATA, MEDATA, PointsList_in, RefList)
+%{
+ UICONTROL Callback computes geometric operations for the muscle wrapping
+--------------------------------------------------------------------------
+Syntax :
+Output = MUSCLE_TOOL_geometry_functions(Task, BLDATA, MEDATA, PointsList_in, RefList)
+--------------------------------------------------------------------------
+
+
+File Description :
+This function computes all the geometry related operations for the muscle
+wrapping.
+
+List of Tasks :
+ Task 1: Rotate Points To Absolute Frame
+ Task 2: Rotate Object Centre To Absolute Frame
+ Task 3: Construct Object Rotation Matrix
+--------------------------------------------------------------------------
+%}
+
+% Initialise the Output
+Output = [];
+
+%--------------------------------------------------------------------------
+% TASK 1 : Transform points using the original rotation matrices
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+if isequal(Task, 'Rotate Points To Absolute Frame')
+ % Get the current landmark data
+ SC = BLDATA.Current_Points.SC;
+ AC = BLDATA.Current_Points.AC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+ % Get the current rotation matrices
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+
+ Output = PointsList_in;
+
+ % Run through the list of points and transform
+ for i = 1:size(Output,2)
+ if RefList(1,i) == 0 % THORAX
+ Output(:,i) = PointsList_in(:,i);
+ elseif RefList(1,i) == 1 % CLAVICULA
+ Output(:,i) = Rc*PointsList_in(:,i) + SC;
+ elseif RefList(1,i) == 2 % SCAPULA
+ Output(:,i) = Rs*PointsList_in(:,i) + AA;
+ elseif RefList(1,i) == 3 % HUMERUS
+ Output(:,i) = Rh*PointsList_in(:,i) + GH;
+ elseif RefList(1,i) == 4 % ULNA
+ Output(:,i) = Ru*PointsList_in(:,i) + HU;
+ elseif RefList(1,i) == 5 % RADIUS
+ Output(:,i) = Rr*PointsList_in(:,i) + CP;
+ else
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 2 : Rotate the object centre point into absolute frame
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(Task, 'Rotate Object Centre To Absolute Frame')
+ % Get the current landmark data
+ SC = BLDATA.Current_Points.SC;
+ AC = BLDATA.Current_Points.AC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+
+ % Get the current rotation matrices
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ % Rotate the points
+ Output = zeros(3,size(MEDATA.ObjectRef,2));
+ for idx = 1:size(MEDATA.ObjectRef,2)
+ if MEDATA.ObjectRef(1,idx) == 0
+ Output(:,idx) = MEDATA.ObjectCentre(:,idx);
+ elseif MEDATA.ObjectRef(1,idx) == 1
+ Output(:,idx) = Rc*MEDATA.ObjectCentre(:,idx) + SC;
+ elseif MEDATA.ObjectRef(1,idx) == 2
+ Output(:,idx) = Rs*MEDATA.ObjectCentre(:,idx) + AA;
+ elseif MEDATA.ObjectRef(1,idx) == 3
+ Output(:,idx) = Rh*MEDATA.ObjectCentre(:,idx) + GH;
+ elseif MEDATA.ObjectRef(1,idx) == 4
+ Output(:,idx) = Ru*MEDATA.ObjectCentre(:,idx) + HU;
+ elseif MEDATA.ObjectRef(1,idx) == 5
+ Output(:,idx) = Rr*MEDATA.ObjectCentre(:,idx) + CP;
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 3 : Build Object Rotation Matrix
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(Task, 'Construct Object Rotation Matrix')
+ % Get the original rotation matrices
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ for idx = 1:size(MEDATA.ObjectRef,2)
+ % Normalise the Z-axis
+ Zaxis = MEDATA.ObjectZaxis(:,idx)/norm(MEDATA.ObjectZaxis(:,idx));
+
+ % Zaxis & [0; 1; 0] colinear?
+ Xaxis = [];
+ if Zaxis(1,1) == 0 && Zaxis(3,1) == 0
+ Xaxis = cross([1; 1; 0], Zaxis); Xaxis = Xaxis/norm(Xaxis);
+ else
+ Xaxis = cross([0; 1; 0], Zaxis); Xaxis = Xaxis/norm(Xaxis);
+ end
+ Yaxis = cross(Zaxis, Xaxis); Yaxis = Yaxis/norm(Yaxis);
+
+ % Transformation Matrix Object to Absolute
+ M = [Xaxis, Yaxis, Zaxis];
+
+ % Add the local to absolute transformation
+ if MEDATA.ObjectRef(1,idx) == 0
+ Output = [Output, M];
+ elseif MEDATA.ObjectRef(1,idx) == 1
+ Output = [Output, Rc*M];
+ elseif MEDATA.ObjectRef(1,idx) == 2
+ Output = [Output, Rs*M];
+ elseif MEDATA.ObjectRef(1,idx) == 3
+ Output = [Output, Rh*M];
+ elseif MEDATA.ObjectRef(1,idx) == 4
+ Output = [Output, Ru*M];
+ elseif MEDATA.ObjectRef(1,idx) == 5
+ Output = [Output, Rr*M];
+ end
+ end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% THE CONDITIONAL SCRIPT ENDS HERE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+else
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_main_file.m
new file mode 100755
index 0000000..2c4a8c7
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_main_file.m
@@ -0,0 +1,793 @@
+%{
+ GUI FOR RUNNING THE MUSCLE TOOL
+--------------------------------------------------------------------------
+
+File Structure :
+The GUI figure is created in MHandle. The pushbuttons are defined next,
+followed by the initialisation script. All the GUI control structures are
+contained in MGUIHandle. The axis is called MuscleVisualisationAxes.
+All the graphics are contained in a single strucure : MPlotHandles.
+
+--------------------------------------------------------------------------
+
+Contents of the Interactive GUI structure :
+ PushButton Section
+ MGUIHandle.Close_Button
+ MGUIHandle.Save_Visualisation_Button
+ MGUIHandle.Update_Visualisation_Button
+
+ Individual Musle Menu Items
+ MGUIHandle.Muscle_Wrap_Menu.MainList
+ MGUIHandle.Muscle_Wrap_Menu.Options
+ MGUIHandle.Muscle_Wrap_Menu.Interpolation
+ MGUIHandle.Muscle_Wrap_Menu.SegNumber
+
+ All Muscle Menu Items
+ MGUIHandle.All_Muscle_Wrap_Menu.MainList
+ MGUIHandle.All_Muscle_Wrap_Menu.Options
+ MGUIHandle.All_Muscle_Wrap_Menu.Interpolation
+ MGUIHandle.All_Muscle_Wrap_Menu.SegNumber
+
+--------------------------------------------------------------------------
+
+The graphical hierarchy is :
+ MHandle
+ -> MuscleVisualisationAxes
+ -> MPlotHandles
+
+--------------------------------------------------------------------------
+%}
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+MHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO Upper Extremity Model: MUSCLE WRAPPING TOOLBOX');
+
+% Push Button for Closing the GUI
+MGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'CLOSE TOOL',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MUSCLE_TOOL_script_generator('Close Muscle Tool'));
+
+% Push Button for saving visualization
+MGUIHandle.Save_Visualsation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.9, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'SAVE VISULALISATION',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MUSCLE_TOOL_script_generator('Save Visualisation'));
+
+% Push Button for updating the visualization
+MGUIHandle.Update_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.85, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'UPDATE VISULALISATION',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Visualisation'));
+
+% Push Button to reset the angles
+MGUIHandle.Reset_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.00, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', 'RESET ANGLES',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', MUSCLE_TOOL_script_generator('Reset Angles'));
+
+% Push Button to view the origins
+MGUIHandle.Origin_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.8, 0.3, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Origins',...
+ 'value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Push Button to view the insertions
+MGUIHandle.Insertion_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.75, 0.3, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Insertions',...
+ 'value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+% CLAVICULA AXIAL ROTATION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Clavicula_Axial_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.68, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Clavicula Forward Axial Rotation',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Clavicula_Axial_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.67, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Clavicula_Axial_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.68, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% CLAVICULA ELEVATION / DEPRESSION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Clavicula_Elevation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.62, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Clavicula Elevation (-)/Depression (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+MGUIHandle.Clavicula_Elevation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.61, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -31.4362,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Clavicula_Elevation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.62, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-31.4362',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% CLAVICULA PROTRACTION / RETRACTION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Clavicula_Protraction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.56, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Clavicula Retraction (-) / Protraction (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+MGUIHandle.Clavicula_Protraction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.55, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -14.8076,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Clavicula_Protraction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.56, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-14.8076',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE SCAPULA SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% SCAPULA SPINAL TILT ROTATION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Scapula_Tilt_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.5, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Scapula External Tilt(-)/Internal Tilt (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+MGUIHandle.Scapula_Tilt_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.49, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -8.9392,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Scapula_Tilt_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.5, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-8.9392',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% SCAPULA ELEVATION / DEPRESSION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Scapula_Elevation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.44, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Scapula Depression (-)/Elevation (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+MGUIHandle.Scapula_Elevation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.43, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', -4.9374,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Scapula_Elevation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.44, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-4.9374',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% SCAPULA PROTRACTION / RETRACTION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Scapula_Protraction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.38, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Scapula Retraction (-)/Protraction(+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angle
+MGUIHandle.Scapula_Protraction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.37, 0.3, 0.01],...
+ 'max', 90,...
+ 'min', -90,...
+ 'value', 29.2987,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Scapula_Protraction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.38, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '29.2987',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE INTERACTIVE HUMERUS SLIDER PART
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% HUMERUS AXIAL ROTATION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Humerus_Axial_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.32, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Humerus Axial Rotation',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Humerus_Axial_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.31, 0.3, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', -85.4041,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Humerus_Axial_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.32, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '-85.4041',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% HUMERUS ABDUCTION / ADDUCTION
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Humerus_Abduction_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.26, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Humerus Adduction (+)/Abduction (-)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Humerus_Abduction_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.25, 0.3, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', 9.7591,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator
+MGUIHandle.Humerus_Abduction_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.26, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '9.7591',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% HUMERUS ELEVATION PLANE
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Humerus_Elevation_Plane.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.2, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Humerus Elevation Plane',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Humerus_Elevation_Plane.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.19, 0.3, 0.01],...
+ 'max', 180,...
+ 'min', -180,...
+ 'value', 129.6775,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator & Editor
+MGUIHandle.Humerus_Elevation_Plane.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.2, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '129.6775',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% ULNA Extension(-)/Flexion(+)
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Ulna_Flexion_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.14, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Ulna Extension (-)/Flexion (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Ulna_Flexion_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.13, 0.3, 0.01],...
+ 'max', 150,...
+ 'min', 0,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator & Editor
+MGUIHandle.Ulna_Flexion_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.14, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+% RADIUS Supination (-)/Pronation (+)
+%--------------------------------------------------------------------------
+% Title
+MGUIHandle.Radius_Pronation_Rotation.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.08, 0.2, 0.02],...
+ 'fontsize', 10,...
+ 'string', 'Radius Supination (-)/Pronation (+)',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'text');
+
+% Slider for changing the angles
+MGUIHandle.Radius_Pronation_Rotation.Slider = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.07, 0.3, 0.01],...
+ 'max', 0,...
+ 'min', -155,...
+ 'value', 0,...
+ 'style', 'slider',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Slider Modified'));
+
+% Value Indicator & Editor
+MGUIHandle.Radius_Pronation_Rotation.Edit = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.08, 0.1, 0.04],...
+ 'fontsize', 12,...
+ 'string', '0',...
+ 'HorizontalAlignment', 'Left',...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold',...
+ 'style', 'edit',...
+ 'callback', MUSCLE_TOOL_script_generator('Update Joint Angles', 'Value Modified'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE MUSCLE INTERACTIVE CONSTRUCTION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% List of Muscle Names
+MSCNames = {'Subclavicular',...
+ 'Serratus Anterior Upper',...
+ 'Serratus Anterior Middle',...
+ 'Serratus Anterior Lower',...
+ 'Trapezius C1 - C6',...
+ 'Trapezius C7',...
+ 'Trapezius T1',...
+ 'Trapezius T2 - T7',...
+ 'Levator Scapulae',...
+ 'Rhomboid Minor',...
+ 'Rhomboid Major T1 - T2',...
+ 'Rhomboid Major T3 - T4',...
+ 'Pectorlis Minor',...
+ 'Pectoralis Major Clavicular',...
+ 'Pectoralis Major Sternal',...
+ 'Pectoralis Minor Ribs',...
+ 'Latissimus Dorsi Thoracic',...
+ 'Latissimus Dorsi Lumbar',...
+ 'Latissimus Dorsi Iliac',...
+ 'Deltoid Clavicular',...
+ 'Deltoid Acromial',...
+ 'Deltoid Scapular',...
+ 'Supraspinatus',...
+ 'Infraspinatus',...
+ 'Subscapularis',...
+ 'Teres Minor',...
+ 'Teres Major',...
+ 'Coracobrachialis',...
+ 'Triceps Brachii Long',...
+ 'Triceps Brachii Medial',...
+ 'Triceps Brachii Lateral',...
+ 'Biceps Brachii Short',...
+ 'Biceps Brachii Long',...
+ 'Brachialis',...
+ 'Brachioradialis',...
+ 'Supinator',...
+ 'Pronator Teres',...
+ 'Flexor Carpi Radialis',...
+ 'Flexor Carpi Ulnaris',...
+ 'Extensor Carpi Radialis Long',...
+ 'Extensor Carpi Radialis Brevis',...
+ 'Extensor Carpi Ulnaris'};
+
+% MAIN MUSCLE LIST
+MGUIHandle.Muscle_Wrap_Menu.MainList = uimenu(...
+ MHandle,...
+ 'label', 'Muscle Properties');
+
+% Interactive part of menu
+MGUIHandle.Muscle_Wrap_Menu.Options = zeros(42,6); % UI menu for muscle names
+MGUIHandle.Muscle_Wrap_Menu.Interpolation = zeros(42,3); % UI menu for interpolation choice
+MGUIHandle.Muscle_Wrap_Menu.SegNumber = zeros(42,20); % UI menu for number of segments
+
+for i = 1:42
+
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,1) = uimenu(MGUIHandle.Muscle_Wrap_Menu.MainList,...
+ 'label', MSCNames{1,i},...
+ 'UserData', i);
+
+ % Visibility Option
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,2) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,1),...
+ 'label', 'Visible?',...
+ 'UserData', i,...
+ 'Checked', 'on',...
+ 'Callback', MUSCLE_TOOL_script_generator('Menu Functions I', i));
+
+ % Object Visibility Option
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,3) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,1),...
+ 'label', 'Object Visible?',...
+ 'UserData', i,...
+ 'Callback', MUSCLE_TOOL_script_generator('Menu Functions II', i));
+
+ % Interpolation Type Option
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,4) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,1),...
+ 'label', 'Interpolation Type',...
+ 'UserData', i);
+
+ % Number of Muscle Segments Option
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,5) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,1),...
+ 'label', 'Number of Segments',...
+ 'UserData', i);
+
+ % Radius Adjustment Factor Option
+ MGUIHandle.Muscle_Wrap_Menu.Options(i,6) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,1),...
+ 'label', 'Radius Adjustment Factor',...
+ 'UserData', 1,...
+ 'Callback', MUSCLE_TOOL_script_generator('Menu Functions V', i));
+
+ % Fill The number of segements for each muscle
+ for j = 1:20
+ if j == 1
+ MGUIHandle.Muscle_Wrap_Menu.SegNumber(i,j) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,5),...
+ 'label', num2str(j),...
+ 'UserData', i, ...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions IV', i, j),...
+ 'Checked', 'on');
+ else
+ MGUIHandle.Muscle_Wrap_Menu.SegNumber(i,j) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,5),...
+ 'label', num2str(j),...
+ 'UserData', i, ...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions IV', i, j),...
+ 'Checked', 'Off');
+ end
+ end
+
+ % List of Possible Interpolation Types
+ MGUIHandle.Muscle_Wrap_Menu.Interpolation(i,1) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,4),...
+ 'label', 'Linear',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions III', i, 1));
+
+ MGUIHandle.Muscle_Wrap_Menu.Interpolation(i,2) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,4),...
+ 'label', 'Linear 2-line',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions III', i, 2),...
+ 'Checked', 'On');
+
+ MGUIHandle.Muscle_Wrap_Menu.Interpolation(i,3) = uimenu(MGUIHandle.Muscle_Wrap_Menu.Options(i,4),...
+ 'label', '3rd Order Spline',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions III', i, 3));
+
+end
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE MENU FOR ALL MUSCLES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+MGUIHandle.All_Muscle_Wrap_Menu.MainList = uimenu(...
+ MHandle,...
+ 'label', 'Set All Properties');
+
+% Interactive part of menu
+MGUIHandle.All_Muscle_Wrap_Menu.Options = zeros(1,3); % UI menu for muscle names
+MGUIHandle.All_Muscle_Wrap_Menu.Interpolation = zeros(1,3); % UI menu for interpolation choice
+MGUIHandle.All_Muscle_Wrap_Menu.SegNumber = zeros(1,20); % UI menu for number of segments
+
+% All Muscles Visibility Option
+MGUIHandle.All_Muscle_Wrap_Menu.Options(1,1) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.MainList,...
+ 'label', 'Visible?',...
+ 'UserData', i,...
+ 'Checked', 'on',...
+ 'Callback', MUSCLE_TOOL_script_generator('Menu Functions VI', 1));
+
+% All Muscles Visibility Option
+MGUIHandle.All_Muscle_Wrap_Menu.Options(1,2) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.MainList,...
+ 'label', 'Interpolation Type',...
+ 'UserData', i);
+
+% All Muscles Number of Segments
+MGUIHandle.All_Muscle_Wrap_Menu.Options(1,3) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.MainList,...
+ 'label', 'Number of Segments',...
+ 'UserData', i);
+
+% Fill The number of segements for each muscle
+for j = 1:20
+ if j == 1
+ MGUIHandle.All_Muscle_Wrap_Menu.SegNumber(1,j) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.Options(1,3),...
+ 'label', num2str(j),...
+ 'UserData', i, ...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions VIII', 1, j),...
+ 'Checked', 'On');
+ else
+ MGUIHandle.All_Muscle_Wrap_Menu.SegNumber(1,j) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.Options(1,3),...
+ 'label', num2str(j),...
+ 'UserData', i, ...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions VIII', 1, j),...
+ 'Checked', 'Off');
+ end
+end
+
+% List of Possible Interpolation Types
+MGUIHandle.All_Muscle_Wrap_Menu.Interpolation(1,1) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.Options(1,2),...
+ 'label', 'Linear',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions VII', 1, 1));
+
+MGUIHandle.All_Muscle_Wrap_Menu.Interpolation(1,2) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.Options(1,2),...
+ 'label', 'Linear 2-line',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions VII', 1, 2),...
+ 'Checked', 'On');
+
+MGUIHandle.All_Muscle_Wrap_Menu.Interpolation(1,3) = uimenu(MGUIHandle.All_Muscle_Wrap_Menu.Options(1,2),...
+ 'label', '3rd Order Spline',...
+ 'UserData', i,...
+ 'callback', MUSCLE_TOOL_script_generator('Menu Functions VII', 1, 3));
+
+% Create a Help UI Menu
+MGUIHandle.Help(1,1) = uimenu(MHandle,...
+ 'label', 'MAIN GUI HELP');
+% Create a Help UI Menu
+MGUIHandle.Help(2,1) = uimenu(MGUIHandle.Help(1,1),...
+ 'label', 'About? (Displayed in Command Window)',...
+ 'callback', MUSCLE_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE VISUALISATION AXES
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+MuscleVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.05, 0.6, 0.9]);
+
+%--------------------------------------------------------------------------
+% CREATE VISUALISATION
+%--------------------------------------------------------------------------
+% Set the Axis
+set(MHandle, 'currentaxes', MuscleVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+MPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+MPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+MPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+MPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+MPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+MPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+MPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% Create the 3-D Wire Frame Visualisations
+MPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+MPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+MPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+MPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+MPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+MPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+% Create the 3-D Muscle elements
+for MuscleId = 1:42
+
+ % Origin & Insertion
+ MPlotHandles.MuscleOriginHandle(MuscleId) = VISUALISATION_view_muscle_origins([], MWDATA, BLDATA, MuscleId);
+ MPlotHandles.MuscleInsertionHandle(MuscleId) = VISUALISATION_view_muscle_insertions([], MWDATA, BLDATA, MuscleId);
+
+ % Muscle Wrapping Object
+ MPlotHandles.MuscleObject(MuscleId,1) = surf(zeros(2,2), zeros(2,2), zeros(2,2), 'facecolor', 'blue', 'facealpha', 0.2, 'edgealpha', 0.2, 'edgecolor', 'blue');
+ MPlotHandles.MuscleObject(MuscleId,2) = surf(zeros(2,2), zeros(2,2), zeros(2,2), 'facecolor', 'blue', 'facealpha', 0.2, 'edgealpha', 0.2, 'edgecolor', 'blue');
+ % Muscle Segements
+ for SegmentId = 1:20
+ if SegmentId > MWDATA{MuscleId,1}.MSCInfo.NbSegments
+ MPlotHandles.MuscleSegments(MuscleId, SegmentId) = plot3(0, 0, 0,...
+ 'color', 'red', 'linewidth', 2, 'marker', 'o', 'markerfacecolor', 'red', 'markersize', 6);
+ else
+ MPlotHandles.MuscleSegments(MuscleId, SegmentId) = VISUALISATION_view_muscle_segement([], MWDATA, BLDATA, MuscleId, SegmentId);
+ end
+ end
+end
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+light('Position',[ 1, 0, 0],'Style','infinite');
+light('Position',[ 0, 0, -10],'Style','local');
+light('Position',[10, -50, 0],'Style','infinite');
+colormap copper; % Give the bone meshings a bone color.
+%box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+material dull; % Define the bone meshing material. It removes the shiny effect.
+axis equal; % Correct the apsect ratio.
+zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+view([165, 15]); % Setup the initial camera postion [0,0] is behind horizontally.
+
+
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_menu_functions.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_menu_functions.m
new file mode 100755
index 0000000..68c92d6
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_menu_functions.m
@@ -0,0 +1,160 @@
+function OutHandle = MUSCLE_TOOL_menu_functions(task, InHandle, MuscleId, varargin)
+% UICONTROL Callback handles all the muscle tool menu functions
+%--------------------------------------------------------------------------
+% Syntax :
+% OutHandle = MUSCLE_TOOL_menu_functions(task, InHandle, MuscleId, varargin)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function handles all the muscle tool menu tasks.
+%
+% List of Single Muscle Tasks:
+% Change Visibility
+% Change Object Visibility
+% Change Interpolation Type
+% Change Segment Numbers
+% Change Radius Adjustment Factor
+%
+% List of All Muscle Tasks:
+% Change All Visibilities
+% Change All Interpolations
+% Change All Segment Numbers
+%--------------------------------------------------------------------------
+
+% Initialise the output
+OutHandle = InHandle;
+
+%--------------------------------------------------------------------------
+% VISIBILITY OF THE MUSCLE?
+%--------------------------------------------------------------------------
+if isequal(task, 'Change Visibility')
+ % Get the current state
+ state = get(InHandle.Muscle_Wrap_Menu.Options(MuscleId, 2), 'Checked');
+
+ % Change the state to opposite state
+ if isequal(state, 'on')
+ set(OutHandle.Muscle_Wrap_Menu.Options(MuscleId, 2), 'Checked', 'off');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.Options(MuscleId, 2), 'Checked', 'on');
+ end
+%--------------------------------------------------------------------------
+% VISIBILITY OF THE WRAPPING OBJECT MUSCLE?
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change Object Visibility')
+ % Get the current state
+ state = get(InHandle.Muscle_Wrap_Menu.Options(MuscleId, 3), 'Checked');
+
+ if isequal(state, 'on')
+ set(OutHandle.Muscle_Wrap_Menu.Options(MuscleId, 3), 'Checked', 'off');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.Options(MuscleId, 3), 'Checked', 'on');
+ end
+%--------------------------------------------------------------------------
+% TYPE OF ORIGIN/INSERTION INTERPOLATION
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change Interpolation Type')
+ % 1 : Linear end-to-end
+ % 2 : Piece-Wise linear
+ % 3 : 3rd Order polynomial
+ InterpId = varargin{1,1};
+
+ for i = 1:3
+ if i == InterpId
+ set(OutHandle.Muscle_Wrap_Menu.Interpolation(MuscleId, i), 'Checked', 'On');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.Interpolation(MuscleId, i), 'Checked', 'Off');
+ end
+ end
+
+%--------------------------------------------------------------------------
+% NUMBER OF MUSCLE SEGEMENTS
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change Segment Numbers')
+
+ SegNbId = varargin{1,1};
+
+ % Run through all the possiblitlies
+ for i = 1:20
+ if i == SegNbId
+ set(OutHandle.Muscle_Wrap_Menu.SegNumber(MuscleId, i), 'Checked', 'On');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.SegNumber(MuscleId, i), 'Checked', 'Off');
+ end
+ end
+
+%--------------------------------------------------------------------------
+% RADIUS ADJUSTMENT FACTOR
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change Radius Adjustment Factor')
+ % Input dialog box title
+ dlg_title = 'Input';
+
+ % Input parameter names
+ prompt = {'Radius Adjustment factor:'};
+
+ % Set the current value of the UImenu userdata as visible value
+ def = {num2str(get(InHandle.Muscle_Wrap_Menu.Options(MuscleId, 6), 'UserData'))};
+
+ % Get the user input
+ answer = inputdlg(prompt,dlg_title,1,def);
+
+ % Set the user input data to userdata
+ set(OutHandle.Muscle_Wrap_Menu.Options(MuscleId, 6), 'UserData', str2double(answer{1}));
+
+%--------------------------------------------------------------------------
+% SET ALL VISIBILITIES
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change All Visibilities')
+
+ % Turn on
+ if isequal(get(OutHandle.All_Muscle_Wrap_Menu.Options(1,1), 'Checked'), 'off')
+ for i = 1:42
+ set(OutHandle.Muscle_Wrap_Menu.Options(i, 2), 'Checked', 'on');
+ end
+ set(OutHandle.All_Muscle_Wrap_Menu.Options(1,1), 'Checked', 'on');
+
+ % Turn off
+ else
+ for i = 1:42
+ set(OutHandle.Muscle_Wrap_Menu.Options(i, 2), 'Checked', 'off');
+ end
+ set(OutHandle.All_Muscle_Wrap_Menu.Options(1,1), 'Checked', 'off');
+ end
+%--------------------------------------------------------------------------
+% SET ALL INTERPOLATION TYPES
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change All Interpolations')
+ InterpId = varargin{1,1};
+
+ for MuscleId = 1:42
+ for i = 1:3
+ if i == InterpId
+ set(OutHandle.Muscle_Wrap_Menu.Interpolation(MuscleId, i), 'Checked', 'On');
+ set(OutHandle.All_Muscle_Wrap_Menu.Interpolation(1,i), 'Checked', 'On');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.Interpolation(MuscleId, i), 'Checked', 'Off');
+ set(OutHandle.All_Muscle_Wrap_Menu.Interpolation(1,i), 'Checked', 'Off');
+ end
+ end
+ end
+%--------------------------------------------------------------------------
+% SET ALL SEGEMENT NUMBERS
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Change All Segment Numbers')
+ SegNbId = varargin{1,1};
+
+ % Run through all the possiblitlies
+ for MuscleId = 1:42
+ for i = 1:20
+ if i == SegNbId
+ set(OutHandle.Muscle_Wrap_Menu.SegNumber(MuscleId, i), 'Checked', 'On');
+ set(OutHandle.All_Muscle_Wrap_Menu.SegNumber(1,i), 'Checked', 'On');
+ else
+ set(OutHandle.Muscle_Wrap_Menu.SegNumber(MuscleId, i), 'Checked', 'Off');
+ set(OutHandle.All_Muscle_Wrap_Menu.SegNumber(1,i), 'Checked', 'Off');
+ end
+ end
+ end
+else
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_reset_angles.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_reset_angles.m
new file mode 100755
index 0000000..015e321
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_reset_angles.m
@@ -0,0 +1,78 @@
+function [BLDATA, ICGUIHandle] = MUSCLE_TOOL_reset_angles(BLDATA_in, ICGUIHandle_in)
+% Function for reseting the joint angles to the original configuration
+%--------------------------------------------------------------------------
+% Syntax :
+% [BLDATA, ICGUIHandle] = MUSCLE_TOOL_reset_angles(BLDATA_in, ICGUIHandle_in)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function resets all the joint angles to the original values of the
+% data set. It also resets the uicontrol values.
+%--------------------------------------------------------------------------
+
+% Create the outputs
+BLDATA = BLDATA_in;
+ICGUIHandle = ICGUIHandle_in;
+
+% Get the Euler Angles of the Original Matrices
+JEA0 = MAIN_TOOL_geometry_functions('Get Euler Angles From Original Rotation Matrices', BLDATA);
+
+%---------------------------------------------------------
+% CLAVICULA AXIAL ROTATION
+set(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value', JEA0(1)*180/pi);
+set(ICGUIHandle.Clavicula_Axial_Rotation.Edit, 'string', num2str(JEA0(1)*180/pi));
+%---------------------------------------------------------
+% CLAVICULA ELEVATION
+set(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value', JEA0(2)*180/pi);
+set(ICGUIHandle.Clavicula_Elevation_Rotation.Edit, 'string', num2str(JEA0(2)*180/pi));
+%---------------------------------------------------------
+% CLAVICULA PROTRACTION
+set(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value', JEA0(3)*180/pi);
+set(ICGUIHandle.Clavicula_Protraction_Rotation.Edit, 'string', num2str(JEA0(3)*180/pi));
+%---------------------------------------------------------
+% SCAPULA AXIAL TILT
+set(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value', JEA0(4)*180/pi);
+set(ICGUIHandle.Scapula_Tilt_Rotation.Edit, 'string', num2str(JEA0(4)*180/pi));
+%---------------------------------------------------------
+% SCAPULA ELEVATION
+set(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value', JEA0(5)*180/pi);
+set(ICGUIHandle.Scapula_Elevation_Rotation.Edit, 'string', num2str(JEA0(5)*180/pi));
+%---------------------------------------------------------
+% SCAPULA PROTRACTION
+set(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value', JEA0(6)*180/pi);
+set(ICGUIHandle.Scapula_Protraction_Rotation.Edit, 'string', num2str(JEA0(6)*180/pi));
+%---------------------------------------------------------
+% HUMERUS AXIAL ROTATION
+set(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value', JEA0(7)*180/pi);
+set(ICGUIHandle.Humerus_Axial_Rotation.Edit, 'string', num2str(JEA0(7)*180/pi));
+%---------------------------------------------------------
+% HUMERUS ELEVATION
+set(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value', JEA0(8)*180/pi);
+set(ICGUIHandle.Humerus_Abduction_Rotation.Edit, 'string', num2str(JEA0(8)*180/pi));
+%---------------------------------------------------------
+% HUMERUS ELEVATION PLANE
+set(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value', JEA0(9)*180/pi);
+set(ICGUIHandle.Humerus_Elevation_Plane.Edit, 'string', num2str(JEA0(9)*180/pi));
+%---------------------------------------------------------
+% ULNA Flexion
+set(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value', round(JEA0(10)*180/pi));
+set(ICGUIHandle.Ulna_Flexion_Rotation.Edit, 'string', num2str(round(JEA0(10)*180/pi)));
+%---------------------------------------------------------
+% RADIUS Pronation
+set(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value', round(JEA0(11)*180/pi));
+set(ICGUIHandle.Radius_Pronation_Rotation.Edit, 'string', num2str(round(JEA0(11)*180/pi)));
+
+%--------------------------------------------------------------------------
+% RESET ALL THE BONY LANDMARK DATA
+%--------------------------------------------------------------------------
+% Reset the initial configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Initial Bony Landmark Data from Joint Rotation Matrices',...
+ BLDATA.Original_Matrices_L2A.Rc, BLDATA.Original_Matrices_L2A.Rs, BLDATA.Original_Matrices_L2A.Rh, BLDATA.Original_Matrices_L2A.Ru, BLDATA.Original_Matrices_L2A.Rr, BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices',...
+ BLDATA.Original_Matrices_L2A.Rc, BLDATA.Original_Matrices_L2A.Rs, BLDATA.Original_Matrices_L2A.Rh, BLDATA.Original_Matrices_L2A.Ru, BLDATA.Original_Matrices_L2A.Rr, BLDATA);
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_script_generator.m
new file mode 100755
index 0000000..00ae33b
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_script_generator.m
@@ -0,0 +1,216 @@
+function CBScript = MUSCLE_TOOL_script_generator(task, varargin)
+% UICONTROL Callback Script Generator for the Muscle tool GUI controls.
+%--------------------------------------------------------------------------
+% Syntax :
+% CBScript = MUSCLE_TOOL_script_generator(task, varargin)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function generates scripts for the muscle tool GUI. The scripts are
+% generated as text arrays. The task input variable inidicates which script
+% to return.
+% varargin contains extra information: muscle identification number,
+% interpolation type, number of segments.
+%
+% List of Scripts :
+% Close Muscle Tool
+% Save Visualisation
+% Menu Functions I Change Visibility
+% Menu Functions II Change Object Visibility
+% Menu Functions III Change Interpolation Type
+% Menu Functions IV Change Segment Numbers
+% Menu Functions V Change Radius Adjustment Factor
+% Menu Functions VI Change All Visibilities
+% Menu Functions VII Change All Interpolations
+% Menu Functions VIII Change All Segment Numbers
+% Update Visualisation
+% Update Joint Angles
+% Reset Joint Angles
+% Help
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+CBScript = [];
+
+% Create the
+InitiScript = 'PRE_PROCESSING_callback_muscle_wrap_tool_';
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Muscle Wrapping GUI
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Muscle Tool')
+ CBScript = [...
+ 'clear MGUIHandle;',...
+ 'clear MPlotHandles;',...
+ 'clear MuscleVisualisationAxes;',...
+ 'close gcf;',...
+ 'clear MHandle;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Save the Visualisation
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Visualisation')
+ CBScript = 'MAIN_TOOL_save_visualisation(MHandle, 3);';
+
+%--------------------------------------------------------------------------
+% Task 3.1 : Change Muscle Visibility
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions I')
+ MuscleId = varargin{1,1};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change Visibility'', MGUIHandle, ',...
+ num2str(MuscleId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 3.2 : Change Wrapping Object Visibility
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions II')
+ MuscleId = varargin{1,1};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change Object Visibility'', MGUIHandle, ',...
+ num2str(MuscleId),');'];
+
+%--------------------------------------------------------------------------
+% Task 3.3 : Change Interpolation type
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions III')
+ MuscleId = varargin{1,1};
+ InterpId = varargin{1,2};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change Interpolation Type'', MGUIHandle, ',...
+ num2str(MuscleId),',',...
+ num2str(InterpId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 3.4 : Change the Number of Segements
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions IV')
+ MuscleId = varargin{1,1};
+ SegNbId = varargin{1,2};
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change Segment Numbers'', MGUIHandle, ',...
+ num2str(MuscleId),',',...
+ num2str(SegNbId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 3.5 : Change The Radius Adjustment Factor
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions V')
+ MuscleId = varargin{1,1};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change Radius Adjustment Factor'', MGUIHandle, ',...
+ num2str(MuscleId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 4.1 : Change All The Visibilities
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions VI')
+ MuscleId = varargin{1,1};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change All Visibilities'', MGUIHandle, ',...
+ num2str(MuscleId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 4.2 : Change All The Interpolations
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions VII')
+ MuscleId = varargin{1,1};
+ InterpId = varargin{1,2};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change All Interpolations'', MGUIHandle, ',...
+ num2str(MuscleId),',',...
+ num2str(InterpId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 4.3 : Change All The Segment Numbers
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Menu Functions VIII')
+ MuscleId = varargin{1,1};
+ SegNbId = varargin{1,2};
+
+ CBScript = [...
+ 'MGUIHandle = MUSCLE_TOOL_menu_functions(''Change All Segment Numbers'', MGUIHandle, ',...
+ num2str(MuscleId),',',...
+ num2str(SegNbId), ');'];
+
+%--------------------------------------------------------------------------
+% Task 5 : Update the Visualisation
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Visualisation')
+ CBScript = '[MWPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles, MGUIHandle, BLDATA, MEDATA, MWDATA);';
+
+%--------------------------------------------------------------------------
+% Task 6 : Update the Joint Angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Joint Angles')
+ % Get the uicontrol modification type
+ Mode = varargin{1,1};
+
+ % Create script for the type of uicontrol that was modified
+ if isequal(Mode, 'Slider Modified')
+ CBScript = [...
+ '[BLDATA, MGUIHandle] =',...
+ 'MUSCLE_TOOL_slider_modification(''Slider Modified'', BLDATA, MGUIHandle);',...
+ '[MPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles, MGUIHandle, BLDATA, MEDATA, MWDATA);'];
+ elseif isequal(Mode, 'Value Modified')
+ CBScript = [...
+ '[BLDATA, MGUIHandle] =',...
+ 'MUSCLE_TOOL_slider_modification(''Value Modified'', BLDATA, MGUIHandle);',...
+ '[MPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles, MGUIHandle, BLDATA, MEDATA, MWDATA);'];
+ else
+
+ end
+
+%--------------------------------------------------------------------------
+% Task 7 : Reset the Joint Angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Reset Angles')
+ CBScript = [...
+ '[BLDATA, MGUIHandle] = ',...
+ 'MUSCLE_TOOL_reset_angles(BLDATA, MGUIHandle);',...
+ '[MPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles, MGUIHandle, BLDATA, MEDATA, MWDATA);'];
+
+%--------------------------------------------------------------------------
+% Task 8 : Help
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'display([''This is the muscle wrapping tool interface GUI. '',',...
+ '''From here you can define the muscle geometry for each muscle. '',',...
+ '''You can also change the current joint angles to see if all the wrappings are correct or not. '']);'];
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'MAIN_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Tool,\n',...
+ '2) Save Visualisation,\n',...
+ '3.1) Menu Functions I,\n',...
+ '3.2) Menu Functions II,\n',...
+ '3.3) Menu Functions III,\n',...
+ '3.4) Menu Functions IV,\n',...
+ '3.5) Menu Functions V,\n',...
+ '4.1) Menu Functions VI,\n',...
+ '4.2) Menu Functions VII,\n',...
+ '4.3) Menu Functions VIII,\n',...
+ '5) Update Visualisation,\n',...
+ '6) Update Joint Angles,\n',...
+ '7) Reset Angles,\n',...
+ '8) Help.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_slider_modification.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_slider_modification.m
new file mode 100755
index 0000000..fba2301
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_slider_modification.m
@@ -0,0 +1,143 @@
+function [BLDATA, ICGUIHandle] = MUSCLE_TOOL_slider_modification(task, BLDATA_in, ICGUIHandle_in)
+% Function for modifying the Initial Configuration GUI uicontrols.
+%--------------------------------------------------------------------------
+% Syntax :
+% [BLDATA, ICGUIHandle] = MUSCLE_TOOL_slider_modification(task, BLDATA_in, ICGUIHandle_in)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function updates the initial configuration every time a slider or
+% edit box is modified in the muscle wrapping tool toolbox.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+BLDATA = BLDATA_in;
+ICGUIHandle = ICGUIHandle_in;
+
+%--------------------------------------------------------------------------
+% Update the Settings of the uicontrols from the initial configuration GUI
+%--------------------------------------------------------------------------
+if isequal(task, 'Slider Modified')
+ %---------------------------------------------------------
+ % CLAVICULA AXIAL ROTATION
+ set(ICGUIHandle.Clavicula_Axial_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % CLAVICULA ELEVATION
+ set(ICGUIHandle.Clavicula_Elevation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % CLAVICULA PROTRACTION
+ set(ICGUIHandle.Clavicula_Protraction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA AXIAL TILT
+ set(ICGUIHandle.Scapula_Tilt_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA ELEVATION
+ set(ICGUIHandle.Scapula_Elevation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % SCAPULA PROTRACTION
+ set(ICGUIHandle.Scapula_Protraction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS AXIAL ROTATION
+ set(ICGUIHandle.Humerus_Axial_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION
+ set(ICGUIHandle.Humerus_Abduction_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION PLANE
+ set(ICGUIHandle.Humerus_Elevation_Plane.Edit,...
+ 'string', num2str(get(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value')));
+ %--------------------------------------------------------------------------
+ % ULNA Flexion
+ set(ICGUIHandle.Ulna_Flexion_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value')));
+ %--------------------------------------------------------------------------
+ % RADIUS Pronation
+ set(ICGUIHandle.Radius_Pronation_Rotation.Edit,...
+ 'string', num2str(get(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value')));
+ %--------------------------------------------------------------------------
+elseif isequal(task, 'Value Modified')
+ %---------------------------------------------------------
+ % CLAVICULA AXIAL ROTATION
+ set(ICGUIHandle.Clavicula_Axial_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Axial_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % CLAVICULA ELEVATION
+ set(ICGUIHandle.Clavicula_Elevation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Elevation_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % CLAVICULA PROTRACTION
+ set(ICGUIHandle.Clavicula_Protraction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Clavicula_Protraction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA AXIAL TILT
+ set(ICGUIHandle.Scapula_Tilt_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Tilt_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA ELEVATION
+ set(ICGUIHandle.Scapula_Elevation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Elevation_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % SCAPULA PROTRACTION
+ set(ICGUIHandle.Scapula_Protraction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Scapula_Protraction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS AXIAL ROTATION
+ set(ICGUIHandle.Humerus_Axial_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Axial_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION
+ set(ICGUIHandle.Humerus_Abduction_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Abduction_Rotation.Edit, 'string')));
+ %---------------------------------------------------------
+ % HUMERUS ELEVATION PLANE
+ set(ICGUIHandle.Humerus_Elevation_Plane.Slider,...
+ 'value', str2double(get(ICGUIHandle.Humerus_Elevation_Plane.Edit, 'string')));
+ %--------------------------------------------------------------------------
+ % ULNA Flexion
+ set(ICGUIHandle.Ulna_Flexion_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Ulna_Flexion_Rotation.Edit, 'string')));
+ %--------------------------------------------------------------------------
+ % RADIUS Pronation
+ set(ICGUIHandle.Radius_Pronation_Rotation.Slider,...
+ 'value', str2double(get(ICGUIHandle.Radius_Pronation_Rotation.Edit, 'string')));
+ % The desired task is not valid
+else
+ error('myApp:TaskCheck', 'Not A Valid Task!');
+end
+
+%--------------------------------------------------------------------------
+% UPDATE THE CURRENT ROTATION MATRICES
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+% Get All Current Euler Angles
+EAList(1,1) = get(ICGUIHandle.Clavicula_Axial_Rotation.Slider, 'value');
+EAList(2,1) = get(ICGUIHandle.Clavicula_Elevation_Rotation.Slider, 'value');
+EAList(3,1) = get(ICGUIHandle.Clavicula_Protraction_Rotation.Slider, 'value');
+EAList(4,1) = get(ICGUIHandle.Scapula_Tilt_Rotation.Slider, 'value');
+EAList(5,1) = get(ICGUIHandle.Scapula_Elevation_Rotation.Slider, 'value');
+EAList(6,1) = get(ICGUIHandle.Scapula_Protraction_Rotation.Slider, 'value');
+EAList(7,1) = get(ICGUIHandle.Humerus_Axial_Rotation.Slider, 'value');
+EAList(8,1) = get(ICGUIHandle.Humerus_Abduction_Rotation.Slider, 'value');
+EAList(9,1) = get(ICGUIHandle.Humerus_Elevation_Plane.Slider, 'value');
+EAList(10,1) = get(ICGUIHandle.Ulna_Flexion_Rotation.Slider, 'value');
+EAList(11,1) = get(ICGUIHandle.Radius_Pronation_Rotation.Slider, 'value');
+
+
+% Build the New Initial Rotation Matrices
+Rmat = MAIN_TOOL_geometry_functions('Build Rotation Matrices From Euler Angles', EAList*pi/180, BLDATA);
+
+% Update the initial configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Initial Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+
+% Update the current configuration
+BLDATA = MAIN_TOOL_geometry_functions(...
+ 'Update Current Bony Landmark Data from Joint Rotation Matrices', Rmat(:,1:3), Rmat(:,4:6), Rmat(:,7:9), Rmat(:,10:12), Rmat(:,13:15), BLDATA);
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_rotation_matrix.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_rotation_matrix.m
new file mode 100755
index 0000000..233e7ca
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_rotation_matrix.m
@@ -0,0 +1,48 @@
+function Mobj = MUSCLE_TOOL_sphere_rotation_matrix(Pv, Sv, Ov)
+% UICONTROL Callback constructs the sphere rotation matrix (sphere wrap)
+%--------------------------------------------------------------------------
+% Syntax :
+% Mobj = MUSCLE_TOOL_sphere_rotation_matrix(Pv, Sv, Ov)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function constructs the sphere rotation matrix used on the sphere
+% wrapping algorithm.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+Mobj = [];
+
+% Define the X-axis
+Ex = Sv - Ov;
+Ex = Ex/norm(Ex);
+
+% Colinearity of PvOv & SvOv?
+e1 = Pv - Ov; e2 = Sv - Ov;
+Ez = [];
+if isequal(acos(e1'*e2/(norm(e1)*norm(e2))), pi) == 1
+ if e2(1) == 0
+ if e2(2) == 0
+ Ez_z = (-e2(1)-e2(2))/e2(3);
+ Ez = [1; 1; Ez_z];
+ else
+ Ez_y = (-e2(1)-e2(3))/e2(2);
+ Ez = [1; Ez_y; 1];
+ end
+ else
+ Ez_x = (-e2(2)-e2(3))/e2(1);
+ Ez = [Ez_x; 1; 1];
+ end
+else
+ Ez = cross(Pv - Ov, Sv - Ov); Ez = Ez/norm(Ez);
+end
+
+% Define the y-axis
+Ey = cross(Ez, Ex);
+Ey = Ey/norm(Ey);
+
+% Matrix : Plane frame -> Object Frame
+Mobj = [Ex, Ey, Ez];
+
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_wrap.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_wrap.m
new file mode 100755
index 0000000..507fed1
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_sphere_wrap.m
@@ -0,0 +1,92 @@
+function [PATH, Length, wflag] = MUSCLE_TOOL_sphere_wrap(Pv, Sv, Ov, Rv, Np)
+% UICONTROL Callback SINGLE SPHERE WRAPPING ALGORITHM
+%--------------------------------------------------------------------------
+% Syntax :
+% [PATH, Length, wflag] = MUSCLE_TOOL_sphere_wrap(Pv, Sv, Ov, Rv, Np)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function is the single-sphere wrapping algorithm from the obstacle
+% set method.
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+PATH = []; % All points along the path
+Length = []; % Length of path
+wflag = 0; % flag indicating if the wrapping occurs or not.
+ % 0 : wrapping. 1 : no wrapping, 2: point inside sphere
+
+%--------------------------------------------------------------------------
+% STEP 1 : Compute the insertion & Origin points in plane frame
+M = MUSCLE_TOOL_sphere_rotation_matrix(Pv, Sv, Ov);
+
+% Compute transformed points
+p = M'*(Pv - Ov); px = p(1); py = p(2); pz = p(3);
+s = M'*(Sv - Ov); sx = s(1); sy = s(2); sz = s(3);
+
+%--------------------------------------------------------------------------
+% STEP 2 : Compute wrapping contact points & Test Wrapping condition
+Qx = px*Rv^2 - Rv*py*sqrt(px^2 + py^2 - Rv^2); Qx = real(Qx/(px^2 + py^2));
+Qy = py*Rv^2 + Rv*px*sqrt(px^2 + py^2 - Rv^2); Qy = real(Qy/(px^2 + py^2));
+
+Tx = sx*Rv^2 + Rv*sy*sqrt(sx^2 + sy^2 - Rv^2); Tx = real(Tx/(sx^2 + sy^2));
+Ty = sy*Rv^2 - Rv*sx*sqrt(sx^2 + sy^2 - Rv^2); Ty = real(Ty/(sx^2 + sy^2));
+
+% Wrapping condition
+if Rv*(Qx*Ty - Qy*Tx) < 0
+ %disp('Wrapping does Not Occur');
+ Length = norm(Pv - Sv);
+ PATH = [Pv, Sv];
+ wflag = 1;
+ return;
+end
+
+%--------------------------------------------------------------------------
+% STEP 3 : Compute wrapping contact points in object frame
+Q = M*[Qx; Qy; 0] + Ov;
+T = M*[Tx; Ty; 0] + Ov;
+
+%--------------------------------------------------------------------------
+% STEP 4 : Compute length & Wrapping path
+QTxy = abs(abs(Rv)*acos(1 - ((Qx - Tx)^2 + (Qy - Ty)^2)/(2*Rv^2)));
+Length = norm(Q - Pv) + QTxy + norm(Sv - T);
+
+% Compute the orientation angles of T and Q in plane frame
+teta_T = atan2(Ty, Tx);
+teta_Q = atan2(Qy, Qx);
+Zc = zeros(1,Np);
+
+% Test the quadrant location of T & Q
+% |
+% II | I
+% |
+% -------------------
+% |
+% III | IV
+% |
+if teta_T > 1.e-6 % T is I or II
+ if teta_Q < -1.e-6 % Q is III or IV: Correct
+ teta_Q = teta_Q + 2*pi;
+ end
+ teta = linspace(teta_Q, teta_T, Np);
+elseif abs(teta_T) < 1.e-6
+ teta = linspace(teta_Q, teta_T, Np);
+else % T is III or IV
+ if teta_Q > 1.e-6 % Q is I or II: Correct
+ teta_Q = teta_Q - 2*pi;
+ end
+ teta = linspace(teta_Q, teta_T, Np);
+end
+
+% Build the path
+PATH = [Pv, M*[abs(Rv)*cos(teta); abs(Rv)*sin(teta); Zc]+diag(Ov)*ones(3,Np), Sv];
+
+% Avoid duplicate points
+if norm(PATH(:,2) - PATH(:,1)) < 1.e-6
+ PATH = PATH(:,2:end);
+end
+
+if norm(PATH(:,end) - PATH(:,end-1)) < 1.e-6
+ PATH = PATH(:,1:end-1);
+end
+return
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_spline_build.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_spline_build.m
new file mode 100755
index 0000000..cd3ad3c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_spline_build.m
@@ -0,0 +1,76 @@
+function WayPoints = MUSCLE_TOOL_spline_build(AnchorPoints, Type, NbSeg)
+% UICONTROL Callback constructs the spline for the muscle wrapping
+%--------------------------------------------------------------------------
+% Syntax :
+% WayPoints = MUSCLE_TOOL_spline_build(AnchorPoints, Type, NbSeg)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function is generates the splines for the muscle insertions and
+% origins.
+%--------------------------------------------------------------------------
+
+
+% Initialise the outputs
+WayPoints = [];
+
+%--------------------------------------------------------------------------
+% First Order linear interpolation between end-points only
+if isequal(Type, 'Linear')
+ P0 = AnchorPoints{1,1};
+ P1 = AnchorPoints{1,2};
+ P2 = AnchorPoints{1,3};
+
+ mu = 1/(NbSeg*2);
+ for i = 1:NbSeg
+ WayPoints = [WayPoints, P0 + mu*(P2 - P0)];
+ mu = mu + 1/NbSeg;
+ end
+%--------------------------------------------------------------------------
+% First Order Piecewise linear interpolation
+elseif isequal(Type, 'Bi-Linear')
+ P0 = AnchorPoints{1,1};
+ P1 = AnchorPoints{1,2};
+ P2 = AnchorPoints{1,3};
+
+ mu = 1/(NbSeg*2);
+ for i = 1:NbSeg
+ if mu < 0.5
+ WayPoints = [WayPoints, P0 + 2*mu*(P1 - P0)];
+ else
+ WayPoints = [WayPoints, P1 + 2*(mu-0.5)*(P2 - P1)];
+ end
+ mu = mu + 1/NbSeg;
+ end
+
+%--------------------------------------------------------------------------
+% Third Order Spline interpolation
+elseif isequal(Type, '3rd Order')
+ P0 = AnchorPoints{1,1};
+ P1 = AnchorPoints{1,2};
+ P2 = AnchorPoints{1,3};
+
+ s = 1/2;
+ Ma = [ -s, 2-s, s-2, s;
+ 2*s, s-3, 3-2*s, -s;
+ -s, 0, s, 0;
+ 0, 1, 0, 0];
+
+ Mb = [P0'; P0'; P1'; P2'];
+ Mc = [P0'; P1'; P2'; P2'];
+
+ mu = 1/(NbSeg*2);
+ for i = 1:NbSeg
+ if mu < 0.5
+ muk = 2*mu;
+ Mu = [muk^3, muk^2, muk, 1];
+ WayPoints = [WayPoints, (Mu*Ma*Mb)'];
+ else
+ muk = 2*(mu - 0.5);
+ Mu = [muk^3, muk^2, muk, 1];
+ WayPoints = [WayPoints, (Mu*Ma*Mc)'];
+ end
+ mu = mu + 1/NbSeg;
+ end
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_stub_wrap.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_stub_wrap.m
new file mode 100755
index 0000000..14d7009
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_stub_wrap.m
@@ -0,0 +1,180 @@
+function [PATH, Length, wflag] = MUSCLE_TOOL_stub_wrap(Pv, Sv, Ov, Rv, Mobj, Np, Switchflag)
+% UICONTROL Callback SPHERE CAPPED CYLINDER WRAPPING ALGORITHM
+%--------------------------------------------------------------------------
+% Syntax :
+% [PATH, Length, wflag] = MUSCLE_TOOL_stub_wrap(Pv, Sv, Ov, Rv, Mobj, Np)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function is the sphere capped cylinder (stub) wrapping algorithm
+% from the obstacle set method.
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+PATH = []; % All points along the path
+Length = []; % Length of path
+wflag = 0; % flag indicating if the wrapping occurs or not
+ % 0 : wrapping. 1 : sphere only wrapping,
+ % 2 : cylinder only wrapping
+ % 3 : no wrapping
+
+%--------------------------------------------------------------------------
+%********* STEP 1 : Compute the insertion & Origin points in object frame
+%--------------------------------------------------------------------------
+p = Mobj'*(Pv - Ov); px = p(1); py = p(2); pz = p(3);
+s = Mobj'*(Sv - Ov); sx = s(1); sy = s(2); sz = s(3);
+
+%--------------------------------------------------------------------------
+%********* STEP 2 : Wrapping is either sphere or cylinder only
+%--------------------------------------------------------------------------
+if pz > 0 && sz > 0 % Both points are on sphere side -> Single-sphere
+ % Compute single-sphere wrapping
+ [PATH, Length, wflag] = MUSCLE_TOOL_sphere_wrap(Pv, Sv, Ov, abs(Rv), Np);
+
+ return;
+
+elseif pz <= 0 && sz <= 0 % Both points are on cylinder side -> Single-cylinder
+ if Switchflag == 1
+ Rv = -Rv;
+ end
+
+ % Compute single-cylinder wrapping
+ [PATH, Length, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Sv, Ov, Rv, Mobj, Np);
+
+ return;
+else
+ % The wrapping is both or neither
+end
+
+%--------------------------------------------------------------------------
+%********* STEP 3 : Wrapping is maybe cylinder only
+%--------------------------------------------------------------------------
+% Is s outside cylinder?
+if sqrt(sx^2 + sy^2) > abs(Rv)
+ if Switchflag == 1
+ Rv = -Rv;
+ end
+ % Single Cylinder algorithm
+ [PATH, Length, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Sv, Ov, Rv, Mobj, Np);
+
+ % Compute Q & T in object frame
+ q = Mobj'*(PATH(:,2) - Ov);
+ t = Mobj'*(PATH(:,end-1) - Ov);
+
+ % Test the inactivity of Q % T
+ if size(PATH,2) == 2 || (q(3) <= 0 && t(3) <= 0)
+ return;
+ end
+ if Switchflag == 1
+ Rv = -Rv;
+ end
+end
+
+%--------------------------------------------------------------------------
+%********* STEP 4 : Wrapping is maybe sphere only
+%--------------------------------------------------------------------------
+% Single Sphere algorithm
+[PATH, Length, wflag] = MUSCLE_TOOL_sphere_wrap(Pv, Sv, Ov, abs(Rv), Np);
+
+q = Mobj'*(PATH(:,2) - Ov);
+t = Mobj'*(PATH(:,end-1) - Ov);
+
+% Test inactivity of Q & T
+if size(PATH,2) == 2 || (q(3) > 0 && t(3) > 0)
+ return;
+end
+
+%--------------------------------------------------------------------------
+%********* STEP 5 : The wrapping is both
+%--------------------------------------------------------------------------
+[Wv, teta_p, teta_q, teta_s, teta_w, qx, qy] = MUSCLE_TOOL_compute_teta_w(Mobj, Ov, px, py, pz, sx, sy, sz, abs(Rv));
+
+% Test Conditions on teta_w
+if Rv < 0 && teta_w <= teta_q
+ % Test inactivity of Q & T
+ if size(PATH,2) == 2
+ if wflag == 0
+ wflag = 1;
+ else
+ wflag = 3;
+ end
+ return;
+ end
+elseif Rv > 0 && teta_w >= teta_q
+ % Test inactivity of Q & T
+ if size(PATH,2) == 2
+ if wflag == 0
+ wflag = 1;
+ else
+ wflag = 3;
+ end
+ return;
+ end
+end
+
+PATHc = []; PATHs = [];
+Lengths = []; Lengthc = [];
+
+[PATHs, Lengths, wflag] = MUSCLE_TOOL_sphere_wrap(Wv, Sv, Ov, abs(Rv), Np);
+
+n1 = PATHs(:,2) - PATHs(:,1); n1 = n1/norm(n1);
+
+if Switchflag == 1
+ Rv = -Rv;
+end
+
+[PATHc, Lengthc, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Wv, Ov, Rv, Mobj, Np);
+PATH = [PATHc, PATHs(:,2:end)];
+Length = Lengths + Lengthc;
+
+n2 = PATHc(:,end) - PATHc(:,end-1); n2 = n2/norm(n2);
+
+% Compute a version with opposit sign
+if 1-abs(n1'*n2) > 5.e-3
+ if Switchflag == 1
+ Rv = -Rv;
+ end
+
+ [Wv, teta_p, teta_q, teta_s, teta_w, qx, qy] = MUSCLE_TOOL_compute_teta_w(Mobj, Ov, px, py, pz, sx, sy, sz, -abs(Rv));
+
+ % Test Conditions on teta_w
+ if Rv < 0 && teta_w <= teta_q
+ % Test inactivity of Q & T
+ if size(PATH,2) == 2
+ if wflag == 0
+ wflag = 1;
+ else
+ wflag = 3;
+ end
+ return;
+ end
+ elseif Rv > 0 && teta_w >= teta_q
+ % Test inactivity of Q & T
+ if size(PATH,2) == 2
+ if wflag == 0
+ wflag = 1;
+ else
+ wflag = 3;
+ end
+ return;
+ end
+ end
+
+ PATHc = []; PATHs = [];
+ Lengths = []; Lengthc = [];
+
+ [PATHs, Lengths, wflag] = MUSCLE_TOOL_sphere_wrap(Wv, Sv, Ov, abs(Rv), Np);
+
+
+ if Switchflag == 1
+ Rv = -Rv;
+ end
+
+ [PATHc, Lengthc, wflag] = MUSCLE_TOOL_cylinder_wrap(Pv, Wv, Ov, Rv, Mobj, Np);
+
+ PATH = [PATHc, PATHs(:,2:end)];
+ Length = Lengths + Lengthc;
+else
+
+end
+return
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_update_visualisation.m b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_update_visualisation.m
new file mode 100755
index 0000000..f67bcbb
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Muscle_Geometry/MUSCLE_TOOL_update_visualisation.m
@@ -0,0 +1,93 @@
+function [MPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles_in, MGUIHandle, BLDATA, MEDATA, MWDATAin)
+% UICONTROL Callback updates the muscle GUI visualisation
+%--------------------------------------------------------------------------
+% Syntax :
+% [MPlotHandles, MWDATA] = MUSCLE_TOOL_update_visualisation(MPlotHandles_in, MGUIHandle, BLDATA, MWDATA_in)
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This function updates the muscle tool GUI visualisation
+%
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+MWDATA = MWDATAin;
+MPlotHandles = MPlotHandles_in;
+
+%--------------------------------------------------------------------------
+% Update All the Meshings
+%--------------------------------------------------------------------------
+MPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(1), MEDATA, 0, BLDATA);
+MPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(2), MEDATA, 1, BLDATA);
+MPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(3), MEDATA, 2, BLDATA);
+MPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(4), MEDATA, 3, BLDATA);
+MPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(5), MEDATA, 4, BLDATA);
+MPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(6), MEDATA, 5, BLDATA);
+MPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing(MPlotHandles.MeshHandle(7), MEDATA, 6, BLDATA);
+axis equal
+
+%--------------------------------------------------------------------------
+% Update All the Wire Frames
+%--------------------------------------------------------------------------
+MPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(1), 0, BLDATA);
+MPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(2), 1, BLDATA);
+MPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(3), 2, BLDATA);
+MPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(4), 3, BLDATA);
+MPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(5), 4, BLDATA);
+MPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe(MPlotHandles.WireFrameHandle(6), 5, BLDATA);
+
+%--------------------------------------------------------------------------
+% RUN THROUGH ALL THE MUSCLES
+%--------------------------------------------------------------------------
+for MuscleId = 1:42
+ % Get the latest options for the muscle
+ MWDATA = MUSCLE_TOOL_build_muscle(MGUIHandle, MWDATA, MuscleId);
+
+ % The muscle is to be visualised
+ if isequal(get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId, 2), 'Checked'), 'on')
+
+ % Visulise the Origins?
+ if get(MGUIHandle.Origin_Visualisation_Button, 'value')
+ MPlotHandles.MuscleOriginHandle(MuscleId) = VISUALISATION_view_muscle_origins(MPlotHandles.MuscleOriginHandle(MuscleId), MWDATA, BLDATA, MuscleId);
+ else
+ set(MPlotHandles.MuscleOriginHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+
+ % Visulise the Origins?
+ if get(MGUIHandle.Insertion_Visualisation_Button, 'value')
+ MPlotHandles.MuscleInsertionHandle(MuscleId) = VISUALISATION_view_muscle_insertions(MPlotHandles.MuscleInsertionHandle(MuscleId), MWDATA, BLDATA, MuscleId);
+ else
+ set(MPlotHandles.MuscleInsertionHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+
+ for SegmentId = 1:20
+ if SegmentId < MWDATA{MuscleId,1}.MSCInfo.NbSegments+1
+ [MPlotHandles.MuscleSegments(MuscleId, SegmentId), MWDATA] = VISUALISATION_view_muscle_segement(MPlotHandles.MuscleSegments(MuscleId, SegmentId), MWDATA, BLDATA, MuscleId, SegmentId);
+ else
+ set(MPlotHandles.MuscleSegments(MuscleId, SegmentId), 'xdata', [], 'ydata', [], 'zdata', []);
+ end
+
+ end
+
+ % The Muscle is not to be visualised
+ else
+ set(MPlotHandles.MuscleOriginHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ set(MPlotHandles.MuscleInsertionHandle(MuscleId), 'xdata', [], 'ydata', [], 'zdata', []);
+ for SegmentId = 1:20
+ set(MPlotHandles.MuscleSegments(MuscleId, SegmentId), 'xdata', [], 'ydata', [], 'zdata', []);
+
+ end
+ end
+
+ % The Muscle Object is to be visualised
+ if isequal(get(MGUIHandle.Muscle_Wrap_Menu.Options(MuscleId, 3), 'Checked'), 'on');
+ MPlotHandles = VISUALISATION_view_muscle_wrapping_object(MPlotHandles, MWDATA, MuscleId, BLDATA);
+ % The Muscle Object is not to be visualised
+ else
+ set(MPlotHandles.MuscleObject(MuscleId,1), 'xdata', zeros(2,2), 'ydata', zeros(2,2), 'zdata', zeros(2,2));
+ set(MPlotHandles.MuscleObject(MuscleId,2), 'xdata', zeros(2,2), 'ydata', zeros(2,2), 'zdata', zeros(2,2));
+ end
+
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_main_file.m
new file mode 100755
index 0000000..f04d16a
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_main_file.m
@@ -0,0 +1,840 @@
+%--------------------------------------------------------------------------
+%
+%
+% GUI FOR RUNNING THE RIBCAGE ELLIPSOID TOOL
+%--------------------------------------------------------------------------
+%
+% File Description :
+% This file creates the main GUI for running the ribcage ellipsoid
+% optimisation tool. The tool allows you to select the points on the
+% ribcage the ellipsoid is to pass through by imposing bounds the
+% coordinates. The optimisation cost function is the sum of the norms
+% between points on the ribcage mesh and their projection onto the
+% ellipsoid surface.
+%
+%--------------------------------------------------------------------------
+%
+% File Structure :
+% The GUI figure is created in EHandle. The pushbuttons are defined next,
+% followed by the initialisation script. All the GUI control structures are
+% contained in EGUIHandle. The axis is called EllipseVisualisationAxes.
+% All the graphics are contained in a single strucure : EPlotHandles.
+%
+%--------------------------------------------------------------------------
+%
+% Contents of the Interactive GUI structure :
+% PushButton Section
+% EGUIHandle.Close_Button
+% EGUIHandle.Build_Ellipsoid_Button
+% EGUIHandle.View_Ellipsoid_Button
+% EGUIHandle.Save_Visualisation_Button
+%
+% Ribcage point selection tools
+% EGUIHandle.RibCage_Selection.Title
+% EGUIHandle.RibCage_Selection.XText
+% EGUIHandle.RibCage_Selection.Xmin
+% EGUIHandle.RibCage_Selection.Xmax
+% EGUIHandle.RibCage_Selection.YText
+% EGUIHandle.RibCage_Selection.Ymin
+% EGUIHandle.RibCage_Selection.Ymax
+% EGUIHandle.RibCage_Selection.ZText
+% EGUIHandle.RibCage_Selection.Zmin
+% EGUIHandle.RibCage_Selection.Zmax
+%
+% Optimisation initial value parameters
+% EGUIHandle.Optimisation_Parameters.Title
+% EGUIHandle.Optimisation_Parameters.Subtitle
+% EGUIHandle.Optimisation_Parameters.CentreXt
+% EGUIHandle.Optimisation_Parameters.CentreXLbv
+% EGUIHandle.Optimisation_Parameters.CentreXov
+% EGUIHandle.Optimisation_Parameters.CentreXUbv
+% EGUIHandle.Optimisation_Parameters.CentreYt
+% EGUIHandle.Optimisation_Parameters.CentreYLbv
+% EGUIHandle.Optimisation_Parameters.CentreYov
+% EGUIHandle.Optimisation_Parameters.CentreYUbv
+% EGUIHandle.Optimisation_Parameters.CentreZt
+% EGUIHandle.Optimisation_Parameters.CentreZLbv
+% EGUIHandle.Optimisation_Parameters.CentreZov
+% EGUIHandle.Optimisation_Parameters.CentreZUbv
+% EGUIHandle.Optimisation_Parameters.AxisXt
+% EGUIHandle.Optimisation_Parameters.AxisXLbv
+% EGUIHandle.Optimisation_Parameters.AxisXov
+% EGUIHandle.Optimisation_Parameters.AxisXUbv
+% EGUIHandle.Optimisation_Parameters.AxisYt
+% EGUIHandle.Optimisation_Parameters.AxisYLbv
+% EGUIHandle.Optimisation_Parameters.AxisYov
+% EGUIHandle.Optimisation_Parameters.AxisYUbv
+% EGUIHandle.Optimisation_Parameters.AxisZt
+% EGUIHandle.Optimisation_Parameters.AxisZLbv
+% EGUIHandle.Optimisation_Parameters.AxisZov
+% EGUIHandle.Optimisation_Parameters.AxisZUbv
+%
+% Optimisation Solver parameters
+% EGUIHandle.Optimisation_Setup.AlgorithmTxt
+% EGUIHandle.Optimisation_Setup.AlgorithmSelect
+% EGUIHandle.Optimisation_Setup.ToleranceTxt
+% EGUIHandle.Optimisation_Setup.TolXSelect
+% EGUIHandle.Optimisation_Setup.TolFunSelect
+% EGUIHandle.Optimisation_Setup.TolConSelect
+% EGUIHandle.Optimisation_Setup.MaxIterationsTxt
+% EGUIHandle.Optimisation_Setup.MaxIterSelect
+% EGUIHandle.Optimisation_Setup.MaxFunEvalSelect
+%--------------------------------------------------------------------------
+%
+% The graphical hierarchy is :
+% EHandle
+% -> EllipseVisualisationAxes
+% -> EPlotHandles
+%
+%--------------------------------------------------------------------------
+
+%--------------------------------------------------------------------------
+% CREATE THE FIGURE
+%--------------------------------------------------------------------------
+EHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO SHOULDER MODEL: RIBCAGE ELLIPSOID TOOLBOX');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE PUSHBUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Push Button for Closing the GUI
+EGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CLOSE TOOL -------------------------------------</b><br><p style="font-size: 90%;"> <i> Closes the ellipsoid tool and returns to main GUI</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Close Ellipsoid Tool'));
+
+% Push Button for Visualising the Ellipsoid
+EGUIHandle.Save_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.9, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- SAVE VISUALISATION ---------------------------</b><br><p style="font-size: 90%;"> <i> Saves the current visualisation to en .eps file</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Save Visualisation'));
+
+% Push Button for Constructing the Ellipsoid
+EGUIHandle.Build_Ellipsoid_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.85, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- BUILD ELLIPSOID -------------------------------</b><br><p style="font-size: 90%;"> <i> Runs the optimisation routine</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Build Ellipsoid'));
+
+% Push Button for Visualising the Ellipsoid
+EGUIHandle.Update_Visualisation_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.53, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- UPDATE VISUALISATION -----------------------</b><br><p style="font-size: 90%;"> <i> Updates the visualisation given the selected options above</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Visualisation'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE RADIO BUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Radio Button for Visualising the Points
+EGUIHandle.Points_Radio_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.65, 0.3, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Ribcage Points',...
+ 'value', 1,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+% Radio Button for Visualising the Ellipsoid
+EGUIHandle.Ellipsoid_Radio_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.61, 0.3, 0.02],...
+ 'style', 'radiobutton',...
+ 'string', 'View Ellipsoid',...
+ 'value', 0,...
+ 'fontsize', 14,...
+ 'backgroundcolor', 'white',...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE THE RIBCAGE INTERACTION ELEMENTS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.RibCage_Selection.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.82, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Bounds For Selected Ribcage Points',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+%--------------------------------------------------------------------------
+% RIBCAGE X LIMIT POINTS
+%--------------------------------------------------------------------------
+% Xmin Title
+EGUIHandle.RibCage_Selection.XminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.79, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Xmin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Minimum Value
+EGUIHandle.RibCage_Selection.Xmin = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.77, 0.78, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+% Xmax Title
+EGUIHandle.RibCage_Selection.XmaxText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.82, 0.78, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Xmax',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Maximum Value
+EGUIHandle.RibCage_Selection.Xmax = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.89, 0.78, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '200',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+%--------------------------------------------------------------------------
+% RIBCAGE Y LIMIT POINTS
+%--------------------------------------------------------------------------
+% Ymin Title
+EGUIHandle.RibCage_Selection.YminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.75, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Ymin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Minimum Value
+EGUIHandle.RibCage_Selection.Ymin = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.77, 0.74, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-120',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+% Ymax Title
+EGUIHandle.RibCage_Selection.YmaxText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.82, 0.75, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Ymax',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Maximum Value
+EGUIHandle.RibCage_Selection.Ymax = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.89, 0.74, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-60',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+%--------------------------------------------------------------------------
+% RIBCAGE Z LIMIT POINTS
+%--------------------------------------------------------------------------
+% Zmin Title
+EGUIHandle.RibCage_Selection.ZminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.71, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Zmin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Minimum Value
+EGUIHandle.RibCage_Selection.Zmin = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.77, 0.7, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+% Zmax Title
+EGUIHandle.RibCage_Selection.ZminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.82, 0.71, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Zmin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Maximum Value
+EGUIHandle.RibCage_Selection.Zmax = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.89, 0.7, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE OPTIMISATION PARAMETERS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.5, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Optimisation Parameters',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Subtitle
+EGUIHandle.Optimisation_Parameters.Subtitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.48, 0.2, 0.02],...
+ 'style', 'text',...
+ 'string', 'Lb Xo Ub',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE X COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.CentreXt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.44, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.CentreXLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.CentreXov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '0',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.CentreXUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE Y COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.CentreYt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.4, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre Y',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.CentreYLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.CentreYov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.CentreYUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE Z COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.CentreZt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.36, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre Z',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.CentreZLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.CentreZov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-200',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.CentreZUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS X COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.AxisXt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.32, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.AxisXLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.AxisXov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '200',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.AxisXUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS Y COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.AxisYt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.28, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.AxisYLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.AxisYov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.AxisYUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS Z COORDINATE
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Parameters.AxisZt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.24, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis Z',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+EGUIHandle.Optimisation_Parameters.AxisZLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+EGUIHandle.Optimisation_Parameters.AxisZov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '300',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+EGUIHandle.Optimisation_Parameters.AxisZUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE OPTIMISATION PARAMETERS SETUP
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% ALGORITHMS
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Setup.AlgorithmTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.2, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Algorithm',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.AlgorithmSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.15, 0.2, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'sqp', 'trust-region-reflective', 'interior-point', 'active-set'},...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+%--------------------------------------------------------------------------
+% TOLERANCES
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Setup.ToleranceTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.13, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Tolerances (X, Function, Constraints)',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.TolXSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.TolFunSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.TolConSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+%--------------------------------------------------------------------------
+% MAXIMUM FUNCTION EVALUATIONS & ITERATIONS
+%--------------------------------------------------------------------------
+% Title
+EGUIHandle.Optimisation_Setup.MaxIterationsTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.06, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Maximum Nb. of Iterations & Function Evaluations',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.MaxIterSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.02, 0.15, 0.035],...
+ 'style', 'listbox',...
+ 'string', {'1.e2', '1.e3', '1.e4'},...
+ 'value', 2,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+EGUIHandle.Optimisation_Setup.MaxFunEvalSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.02, 0.15, 0.035],...
+ 'style', 'listbox',...
+ 'string', {'1.e2', '1.e3', '1.e4'},...
+ 'value', 2,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Create the Help Menu
+EGUIHandle.HelpMenu(1,1) = uimenu(EHandle,...
+ 'label', 'GUI Help');
+EGUIHandle.HelpMenu(2,1) = uimenu(EGUIHandle.HelpMenu(1,1),...
+ 'label', 'About?',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISE THE OPTIMISATION DATA STRUCTURE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Data Structure
+EOPTDATA.points = [];
+EOPTDATA.Initial_Guess = [0, -50, -200, 200, 100, 300];
+EOPTDATA.Lower_Bounds = [-50, -100, -400, 10, 10, 10];
+EOPTDATA.Upper_Bounds = [50, 100, 400, 400, 400, 400];
+EOPTDATA.Algorithm = 'sqp';
+EOPTDATA.TolX = 1.e-6;
+EOPTDATA.TolFun = 1.e-6;
+EOPTDATA.TolCon = 1.e-6;
+EOPTDATA.MaxFunEval = 1.e3;
+EOPTDATA.MaxIter = 1.e3;
+
+% Give it the List of Points
+points = [];
+for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ Xmax = str2double(get(EGUIHandle.RibCage_Selection.Xmax, 'string'));
+ Ymax = str2double(get(EGUIHandle.RibCage_Selection.Ymax, 'string'));
+ Zmax = str2double(get(EGUIHandle.RibCage_Selection.Zmax, 'string'));
+ Xmin = str2double(get(EGUIHandle.RibCage_Selection.Xmin, 'string'));
+ Ymin = str2double(get(EGUIHandle.RibCage_Selection.Ymin, 'string'));
+ Zmin = str2double(get(EGUIHandle.RibCage_Selection.Zmin, 'string'));
+
+ % Select an initial set of points
+ if MEDATA.Thorax_Mesh.points(i,1) > Xmin && MEDATA.Thorax_Mesh.points(i,1) < Xmax
+ if MEDATA.Thorax_Mesh.points(i,2) > Ymin && MEDATA.Thorax_Mesh.points(i,2) < Ymax
+ if MEDATA.Thorax_Mesh.points(i,3) > Zmin && MEDATA.Thorax_Mesh.points(i,3) < Zmax
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+end
+EOPTDATA.points = points; clear points;
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION OF THE VISUALISATION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Axes
+EllipseVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.05, 0.6, 0.9]);
+
+% Set the Axis
+set(EHandle, 'currentaxes', EllipseVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+EPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+EPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+EPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+EPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+EPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+EPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+EPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% Create the 3-D Wire Frame Visualisations
+EPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+EPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+EPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+EPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+EPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+EPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+% Initialise the ellipsoid plot
+EPlotHandles.Ellipsoid = [];
+
+% Visualise the Area to be used
+EPlotHandles.RibCage = plot3(EOPTDATA.points(:,1), EOPTDATA.points(:,2), EOPTDATA.points(:,3),...
+ 'linestyle', '--',...
+ 'marker', 'o',...
+ 'color', 'red',...
+ 'markerfacecolor', 'blue',...
+ 'markersize', 6);
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+light('Position',[ 1, 0, 0],'Style','infinite');
+light('Position',[ 0, 0, -10],'Style','local');
+light('Position',[10, -50, 0],'Style','infinite');
+colormap copper; % Give the bone meshings a bone color.
+%box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+material dull; % Define the bone meshing material. It removes the shiny effect.
+axis equal; % Correct the apsect ratio.
+zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+view([45, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_function.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_function.m
new file mode 100755
index 0000000..93654a5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_function.m
@@ -0,0 +1,109 @@
+function [f, df] = ELLIPSOID_TOOL_optimisation_function(x, Points)
+% Function used by fmincon to compute the cost function for the ellipsoid.
+%--------------------------------------------------------------------------
+% Syntax :
+% [f, df] = ELLIPSOID_TOOL_optimisation_function(x, Points)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the cost function for the ribcage ellipsoid
+% optimisaiton. The cost function is the sum of the norms between points on
+% the ribcage meshing and their projection onto the surface of the
+% ellipsoid.
+%
+%--------------------------------------------------------------------------
+
+% Get Ellipsoid Variables
+xo = x(1); a = x(4);
+yo = x(2); b = x(5);
+zo = x(3); c = x(6);
+
+% Ellipsoid Matrix
+E = diag([1/a^2; 1/b^2; 1/c^2]);
+
+% Ellipsoid Centre
+O = [xo; yo; zo];
+
+% Initialise the output
+f = 0;
+
+% The gradient is computed using MATLAB (finite differencing)
+df = zeros(6,1);
+
+% Compute the cost function
+for i = 1:size(Points,1)
+ % Get the coordinates of point to be projected
+ u = Points(i,1);
+ v = Points(i,2);
+ w = Points(i,3);
+ Q = [u; v; w];
+
+ % Compute the projection scalar
+ Lam = Lambda_Compute(xo, yo, zo, a, b, c, u, v, w);
+
+ % Compute the projected point
+ P = inv(eye(3) + 2*Lam*E)*(Q + 2*Lam*E*O);
+
+ % Augment the cost function
+ f = f + 0.5*(P-Q)'*(P-Q);
+end
+return;
+
+% Small Sub-function for computing Lambda the projection scalar
+function Lam = Lambda_Compute(xo, yo, zo, a, b, c, u, v, w)
+% The Projected Point Coordinates satisfy the equations
+% u = x + 2 * lam * (x - xo)/a^2 -> x = (u * a^2 + 2 * lam * xo)/(a^2 + 2 * lam)
+% v = y + 2 * lam * (y - yo)/b^2 -> y = (v * b^2 + 2 * lam * yo)/(b^2 + 2 * lam)
+% w = z + 2 * lam * (z - zo)/c^2 -> z = (w * c^2 + 2 * lam * zo)/(c^2 + 2 * lam)
+%
+% Injecting the relations into the ellipsoid equation
+%
+% a^2*(u - xo)^2/(a^2 + 2 * lam) + b^2*(v - yo)^2/(b^2 + 2 * lam) + c^2*(w - zo)^2/(c^2 + 2 * lam) - 1 = 0
+%
+% List of Polynomial Coefficients for Computing lambda, the projection
+% parameter. These coefficients where computed using MATLAB's symbolic
+% toolbox.
+K6 = - 64;
+
+K5 = - 64*(a^2 + b^2 + c^2);
+
+K4 = - 16*(a^4 + b^4 + c^4)...
+ - 64*(a^2*c^2 + b^2*c^2 + a^2*b^2)...
+ + 16*(a^2*u^2 + b^2*v^2 + c^2*w^2)...
+ - 32*(a^2*u*xo + b^2*v*yo + c^2*w*zo)...
+ + 16*(a^2*xo^2 + b^2*yo^2 + c^2*zo^2);
+
+K3 = - 64*(a^2*b^2*c^2)...
+ - 16*(a^4*b^2 + a^4*c^2 + b^4*a^2 + b^4*c^2 + c^4*a^2 + c^4*b^2)...
+ + 16*(a^2*u^2*b^2 + a^2*u^2*c^2 + b^2*v^2*a^2 + b^2*v^2*c^2 + c^2*w^2*a^2 + c^2*w^2*b^2)...
+ + 16*(c^2*zo^2*b^2 + c^2*zo^2*a^2 + a^2*xo^2*c^2 + a^2*xo^2*b^2 + b^2*yo^2*c^2 + b^2*a^2*yo^2)...
+ - 32*(a^2*u*xo*c^2 + a^2*u*xo*b^2 + b^2*v*yo*c^2 + b^2*v*yo*a^2 + c^2*w*zo*b^2 + c^2*w*zo*a^2);
+
+K2 = + 16*(a^2*b^2*c^2*u^2 + a^2*b^2*c^2*v^2 + a^2*b^2*c^2*w^2)...
+ + 16*(a^2*b^2*c^2*xo^2 + a^2*b^2*c^2*yo^2 + a^2*b^2*c^2*zo^2)...
+ - 32*(a^2*b^2*c^2*u*xo + a^2*b^2*c^2*v*yo + a^2*b^2*c^2*w*zo)...
+ - 4*(a^4*b^4 + a^4*c^4 + b^4*c^4) - 16*(a^4*b^2*c^2 + a^2*b^4*c^2 + a^2*b^2*c^4)...
+ + 4*(a^2*b^4*u^2 + a^2*c^4*u^2 + b^2*a^4*v^2 + b^2*c^4*v^2 + c^2*a^4*w^2 + c^2*b^4*w^2)...
+ - 8*(a^2*c^4*u*xo + a^2*b^4*u*xo + b^2*c^4*v*yo + b^2*a^4*v*yo + c^2*a^4*w*zo + c^2*b^4*w*zo)...
+ + 4*(a^2*b^4*xo^2 + a^2*c^4*xo^2 + b^2*a^4*yo^2 + b^2*c^4*yo^2 + c^2*a^4*zo^2 + c^2*b^4*zo^2);
+
+K1 = - 4*(a^2*b^4*c^4 + b^2*a^4*c^4 + c^2*b^4*a^4)...
+ + 4*(a^2*b^2*c^4*u^2 + a^2*b^4*c^2*u^2 + a^4*b^2*c^2*v^2 + a^2*b^2*c^4*v^2 + a^4*b^2*c^2*w^2 + a^2*b^4*c^2*w^2)...
+ - 8*(a^2*b^2*c^4*u*xo + a^2*b^4*c^2*u*xo + a^2*b^2*c^4*v*yo + a^4*b^2*c^2*v*yo + a^4*b^2*c^2*w*zo + a^2*b^4*c^2*w*zo)...
+ + 4*(a^2*b^2*c^4*xo^2 + a^2*b^4*c^2*xo^2 + a^4*b^2*c^2*yo^2 + a^2*b^2*c^4*yo^2 + a^4*b^2*c^2*zo^2 + a^2*b^4*c^2*zo^2);
+
+K0 = - (a^4*b^4*c^4)...
+ + (a^2*b^4*c^4*u^2 + a^4*b^2*c^4*v^2 + a^4*b^4*c^2*w^2)...
+ + (a^2*b^4*c^4*xo^2 + a^4*b^2*c^4*yo^2 + a^4*b^4*c^2*zo^2)...
+ - 2*(a^2*b^4*c^4*u*xo + a^4*b^2*c^4*v*yo + a^4*b^4*c^2*w*zo);
+
+% Select the smallest real root
+% K6*lam^6 + K5*lam^5 + K4*lam^4 + K3*lam^3 + K2*lam^2 + K1*lam + K0 = 0
+LamRoots = roots([K6, K5, K4, K3, K2, K1, K0]); % Compute roots
+idx = find(abs(imag(LamRoots)) < 1.e-6); % Identify real roots
+[Lam, idy] = min([abs(LamRoots(idx(1),1)), abs(LamRoots(idx(2),1))]); % Select smallest value
+Lam = LamRoots(idx(idy),1);
+return;
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_setup.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_setup.m
new file mode 100755
index 0000000..c8f54be
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_optimisation_setup.m
@@ -0,0 +1,56 @@
+function [EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA_In)
+% Uicontrol callback function which updates the optimisation data structure.
+%--------------------------------------------------------------------------
+% Syntax :
+% [EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA_In)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function gets all the current optimisation settings from the
+% uicontrols of the ELLIPSOID_TOOL GUI.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+EOPTDATA = EOPTDATA_In;
+
+% Get the Lower Bounds
+EOPTDATA.Lower_Bounds(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZLbv, 'string'));
+
+% Get the Upper Bounds
+EOPTDATA.Upper_Bounds(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZUbv, 'string'));
+
+% Get the Initial Values
+EOPTDATA.Initial_Guess(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXov, 'string'));
+EOPTDATA.Initial_Guess(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYov, 'string'));
+EOPTDATA.Initial_Guess(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZov, 'string'));
+EOPTDATA.Initial_Guess(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXov, 'string'));
+EOPTDATA.Initial_Guess(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYov, 'string'));
+EOPTDATA.Initial_Guess(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZov, 'string'));
+
+% List of Algorithms, Tolenrances & Maximum function evaluations
+Algorithm_List = {'sqp', 'trust-region-reflective', 'interior-point', 'active-set'};
+Tolerance_list = [1.e-3, 1.e-4, 1.e-5, 1.e-6, 1.e-7, 1.e-8];
+Iterations_List = [1.e2, 1.e3, 1.e4];
+
+% Get All the Data Into the Structure
+EOPTDATA.Algorithm = Algorithm_List{1,get(EGUIHandle.Optimisation_Setup.AlgorithmSelect, 'value')};
+EOPTDATA.TolX = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolXSelect, 'value'));
+EOPTDATA.TolFun = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolFunSelect, 'value'));
+EOPTDATA.TolCon = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolConSelect, 'value'));
+EOPTDATA.MaxFunEval = Iterations_List(1,get(EGUIHandle.Optimisation_Setup.MaxFunEvalSelect, 'value'));
+EOPTDATA.MaxIter = Iterations_List(1,get(EGUIHandle.Optimisation_Setup.MaxIterSelect, 'value'));
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_ribcage_selection_update.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_ribcage_selection_update.m
new file mode 100755
index 0000000..31b68eb
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_ribcage_selection_update.m
@@ -0,0 +1,39 @@
+function [EPlotHandles, EOPTDATA] = ELLIPSOID_TOOL_ribcage_selection_update(EPlotHandles_In, EGUIHandle, MEDATA, EOPTDATA_In)
+% Uicontrol callback function for updating the points on the ribcage mesh.
+%--------------------------------------------------------------------------
+% Syntax :
+% [EPlotHandles, EOPTDATA] = ELLIPSOID_TOOL_ribcage_selection_update(EPlotHandles_In, EGUIHandle, MEDATA, EOPTDATA_In)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function runs through all the ribcage points and selects the ones to
+% be used for the optimisation given the bounds defined in the GUI's
+% uicontrols.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+EPlotHandles = EPlotHandles_In;
+EOPTDATA = EOPTDATA_In;
+
+% Rebuild the set of points
+points = [];
+for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ if MEDATA.Thorax_Mesh.points(i,1) > str2double(get(EGUIHandle.RibCage_Selection.Xmin, 'string')) && MEDATA.Thorax_Mesh.points(i,1) < str2double(get(EGUIHandle.RibCage_Selection.Xmax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,2) > str2double(get(EGUIHandle.RibCage_Selection.Ymin, 'string')) && MEDATA.Thorax_Mesh.points(i,2) < str2double(get(EGUIHandle.RibCage_Selection.Ymax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,3) > str2double(get(EGUIHandle.RibCage_Selection.Zmin, 'string')) && MEDATA.Thorax_Mesh.points(i,3) < str2double(get(EGUIHandle.RibCage_Selection.Zmax, 'string'))
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+end
+
+% Save the points
+EOPTDATA.points = points;
+
+% Update the visualisaton
+set(EPlotHandles.RibCage, 'xdata', points(:,1), 'ydata', points(:,2), 'zdata', points(:,3));
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_run_optimisation.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_run_optimisation.m
new file mode 100755
index 0000000..8749c4c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_run_optimisation.m
@@ -0,0 +1,134 @@
+function REDATA = ELLIPSOID_TOOL_run_optimisation(EOPTDATA, BLDATA)
+% Ribcage Ellipsoid Optimisation Overhead function.
+%--------------------------------------------------------------------------
+% Syntax :
+% REDATA = ELLIPSOID_TOOL_run_optimisation(EOPTDATA, BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function runs the optimisation procedure for the ribcage ellipsoid.
+% Once a solution is found, the ellipsoid is adapted to the points TS and
+% AI.
+%
+%--------------------------------------------------------------------------
+
+% Create a wait bar to help the user be patient
+ewait = waitbar(0,'Running Ellipsoid Optimisation (Status can be observed in command window)');
+
+% Define the Optimization Options
+options = optimset(...
+ 'Algorithm', EOPTDATA.Algorithm,...
+ 'Display', 'Iter',...
+ 'HessUpdate', 'bfgs',...
+ 'Diagnostics', 'on',...
+ 'Gradobj', 'off',...
+ 'TolX', EOPTDATA.TolX,...
+ 'TolFun', EOPTDATA.TolFun,...
+ 'TolCon', EOPTDATA.TolCon,...
+ 'MaxFunEval', EOPTDATA.MaxFunEval,...
+ 'MaxIter', EOPTDATA.MaxIter);
+
+% Update the wait bar
+waitbar(0.25,ewait);
+
+% Run the Optimization with every two points
+[xopt, fopt, exitflag] = fmincon(@ELLIPSOID_TOOL_optimisation_function,...
+ EOPTDATA.Initial_Guess,...
+ [],[],...
+ [],[],...
+ EOPTDATA.Lower_Bounds, EOPTDATA.Upper_Bounds,...
+ [],...
+ options,...
+ EOPTDATA.points(1:2:end,:));
+
+% Update the wait bar
+waitbar(0.85,ewait);
+
+% Optimisation has been run, the ribcage datastructure is to be updated
+
+% Create the initial data
+REDATA.Centre = xopt(1,1:3);
+REDATA.Axes = xopt(1,4:6);
+
+% Position of TS & AI in thorax reference system
+TS = BLDATA.Initial_Points.TS;
+AI = BLDATA.Initial_Points.AI;
+
+%--------------------------------------------------------------------------
+% The Scaling Factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (TSx - Ex)^2 (TSy - Ey)^2 (TSz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+TSx = TS(1); TSy = TS(2); TSz = TS(3);
+A = REDATA.Axes(1); B = REDATA.Axes(2); C = REDATA.Axes(3);
+Xo = REDATA.Centre(1); Yo = REDATA.Centre(2); Zo = REDATA.Centre(3);
+
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((TSx - Xo)^2 + (TSy - Yo)^2 + (TSz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(TSx - Xo)^2*(C + B) + 2*(TSy - Yo)^2*(A+C) + 2*(TSz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((TSx - Xo)^2*(B^2 + C^2 + 4*C*B) + (TSy - Yo)^2*(C^2 + 4*A*C + A^2) + (TSz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(TSx - Xo)^2*(B^2*C + C^2*B) + 2*(TSy - Yo)^2*(A^2*C + C^2*A) + 2*(TSz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (TSx - Xo)^2*C^2*B^2 + (TSy - Yo)^2*A^2*C^2 + (TSz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+TS_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only
+idx = find(abs(imag(TS_Scale_Roots)) < 1.e-6);
+idxx = find(real(TS_Scale_Roots(idx)) > 0);
+TSsf = TS_Scale_Roots(idx(idxx),1);
+
+% Save The Data
+REDATA.TSscale = TSsf;
+REDATA.TSaxes = [A + TSsf; B + TSsf; C + TSsf];
+
+%--------------------------------------------------------------------------
+% The Scaling Factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (AIx - Ex)^2 (AIy - Ey)^2 (AIz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+AIx = AI(1); AIy = AI(2); AIz = AI(3);
+
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((AIx - Xo)^2 + (AIy - Yo)^2 + (AIz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(AIx - Xo)^2*(C + B) + 2*(AIy - Yo)^2*(A+C) + 2*(AIz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((AIx - Xo)^2*(B^2 + C^2 + 4*C*B) + (AIy - Yo)^2*(C^2 + 4*A*C + A^2) + (AIz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(AIx - Xo)^2*(B^2*C + C^2*B) + 2*(AIy - Yo)^2*(A^2*C + C^2*A) + 2*(AIz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (AIx - Xo)^2*C^2*B^2 + (AIy - Yo)^2*A^2*C^2 + (AIz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+AI_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only
+idx = find(abs(imag(AI_Scale_Roots)) < 1.e-6);
+idxx = find(real(AI_Scale_Roots(idx)) > 0);
+AIsf = AI_Scale_Roots(idx(idxx),1);
+
+% Save The Data
+REDATA.AIscale = AIsf;
+REDATA.AIaxes = [A + AIsf; B + AIsf; C + AIsf];
+
+% Update the wait bar and close it
+waitbar(1, ewait);
+delete(ewait);
+
+% Display a warning if the optimisation procedure was not successful!
+if exitflag < 1
+ warndlg('The Optimisation was Unsuccessful. See MATLAB command line for details');
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_script_generator.m
new file mode 100755
index 0000000..87d2f22
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_script_generator.m
@@ -0,0 +1,129 @@
+function CBScript = ELLIPSOID_TOOL_script_generator(task)
+% Uicontrol Callback Script Generator for Ellipsoid Tool GUI.
+%--------------------------------------------------------------------------
+% Syntax :
+% CBScript = ELLIPSOID_TOOL_script_generator(task)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function generates the uicontrol callback scripts for the ellipsoid
+% tool GUI. The scripts are generated as text arrays. The task input
+% variable inidicates which script to return.
+%
+% List of Scripts :
+% Task 1: Close Ellipsoid Tool
+% Task 2: Build Ellipsoid
+% Task 3: View Ellipsoid
+% Task 4: Save Visualisation
+% Task 5: Update Ribcage Points
+% Task 6: Set Optimisation Parameters
+% Task 7: Set Optimisation Settings
+% Task 8: Help
+%--------------------------------------------------------------------------
+
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Ellipsoid GUI
+% Closes the ellipsoid tool GUI and deletes the variables that are no
+% longer needed. The dynamic dataset is also updated to acount for the
+% change in the scapulothoracic constraints.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Ellipsoid Tool')
+ CBScript = [...
+ 'DYDATA = MAIN_INITIALISATION_build_data_dynamics_noequations(REDATA, BLDATA);',...
+ 'clear EGUIHandle;',...
+ 'clear EPlotHandles;',...
+ 'clear EllipseVisualisationAxes;',...
+ 'clear EOPTDATA',...
+ 'clear Xmin Xmax Ymin Ymax Zmin Zmax;',...
+ 'close gcf;',...
+ 'clear EHandle;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Build the Ellipsoid
+% Runs the optimisation overhead function which controls the
+% optimsation routine.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Build Ellipsoid')
+ CBScript = 'REDATA = ELLIPSOID_TOOL_run_optimisation(EOPTDATA, BLDATA);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Update the Visualisation
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Visualisation')
+ CBScript = 'EPlotHandles = ELLIPSOID_TOOL_update_visualisation(EGUIHandle, EPlotHandles, EOPTDATA, REDATA, MEDATA);';
+
+%--------------------------------------------------------------------------
+% Task 4 : Save Current Visualisation
+% Calls the main function for saving visualisations
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Save Visualisation')
+ CBScript = 'MAIN_CALLBACK_save_visualisation(EHandle, 5);';
+
+%--------------------------------------------------------------------------
+% Task 5 : Update Selected Ribcage points
+% Updates the selected points on the ribcage that are selected given the
+% current bounds.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Ribcage Points')
+ CBScript = '[EPlotHandles, EOPTDATA] = ELLIPSOID_TOOL_ribcage_selection_update(EPlotHandles, EGUIHandle, MEDATA, EOPTDATA);';
+
+%--------------------------------------------------------------------------
+% Task 6 : Set Optimisation Parameters
+% Sets the data structure is the inial values or bounds are changed.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Set Optimisation Parameters')
+ CBScript = '[EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA);';
+
+%--------------------------------------------------------------------------
+% Task 7 : Set Optimisation Settings
+% When an optimisation setting is changed, this callback sets the data
+% structure.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Set Optimisation Settings')
+ CBScript = '[EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA);';
+
+%--------------------------------------------------------------------------
+% Task 8 : Help
+% Displays a help message in the command window when the help menu option
+% is clicked.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------- INTERFACE FOR BUILDING THE RIBCAGE ELLIPSOID -----------------\n'',',...
+ ' ''This GUI helps you build the ribcage ellipsoid by optimisation.\n'',',...
+ ' ''You can impose bounds on the ellipsoid centre coordinates and the axis dimensions.\n'',',...
+ ' ''The optimisation cost function is the sum of the norms beteen points on the\n'',',...
+ ' ''ribcage meshing and their projection onto the ellipsoid surface.\n'', ',...
+ ' ''You can impose the bounds on the points to be used for the optimisation. The points\n'',',...
+ ' ''are shown in blue in the visualisation. This procedure has already been carried out\n'',',...
+ ' ''and the result is the default parameters. The initial values of the GUI when it opens\n'','...
+ ' ''yield the original values loaded when the main GUI starts.'']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'ELLIPSOID_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close Ellipsoid Tool,\n',...
+ '2) Build Ellipsoid,\n',...
+ '3) Update Visualisation,\n',...
+ '4) Save Visualisation,\n',...
+ '5) Update Ribcage Points,\n',...
+ '6) Set Optimisation Parameters,\n',...
+ '7) Set Optimisation Settings.'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_update_visualisation.m b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_update_visualisation.m
new file mode 100755
index 0000000..aad93e3
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Ribcage_Ellipsoid/ELLIPSOID_TOOL_update_visualisation.m
@@ -0,0 +1,48 @@
+function PlotHandles = ELLIPSOID_TOOL_update_visualisation(EGUIHandle, PHandles, EOPTDATA, REDATA, MEDATA)
+% Function for updating the ellipsoid tool GUI visualisation.
+%--------------------------------------------------------------------------
+% Syntax :
+% PlotHandles = ELLIPSOID_TOOL_update_visualisation(EGUIHandle, PHandles, EOPTDATA, REDATA, MEDATA)
+%--------------------------------------------------------------------------
+% File Description :
+% This function updates the visualisation of the ellipsoid tool gui.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+PlotHandles = PHandles;
+
+% Get the Visualisation Options
+ViewEllipsoid = get(EGUIHandle.Ellipsoid_Radio_Button, 'value');
+
+% Update the Ellipsoid
+if ViewEllipsoid
+ PlotHandles.Ellipsoid = VISUALISATION_view_ribcage_ellipsoid(PlotHandles.Ellipsoid, REDATA);
+else
+ set(PlotHandles.Ellipsoid, 'xdata', [], 'ydata', [], 'zdata', []);
+end
+
+% Update the Ribcage Points
+ViewPoints = get(EGUIHandle.Points_Radio_Button, 'value');
+if ViewPoints
+ % Rebuild the set of points
+ points = [];
+ for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ if MEDATA.Thorax_Mesh.points(i,1) > str2double(get(EGUIHandle.RibCage_Selection.Xmin, 'string')) && MEDATA.Thorax_Mesh.points(i,1) < str2double(get(EGUIHandle.RibCage_Selection.Xmax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,2) > str2double(get(EGUIHandle.RibCage_Selection.Ymin, 'string')) && MEDATA.Thorax_Mesh.points(i,2) < str2double(get(EGUIHandle.RibCage_Selection.Ymax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,3) > str2double(get(EGUIHandle.RibCage_Selection.Zmin, 'string')) && MEDATA.Thorax_Mesh.points(i,3) < str2double(get(EGUIHandle.RibCage_Selection.Zmax, 'string'))
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+ end
+
+ % Save the points
+ EOPTDATA.points = points;
+
+ % Update the visualisaton
+ set(PlotHandles.RibCage, 'xdata', points(:,1), 'ydata', points(:,2), 'zdata', points(:,3));
+else
+ set(PlotHandles.RibCage, 'xdata', [], 'ydata', [], 'zdata', []);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Clear_WireFrame.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Clear_WireFrame.m
new file mode 100755
index 0000000..acaaf04
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Clear_WireFrame.m
@@ -0,0 +1,10 @@
+function SUBJECT_TOOL_Clear_WireFrame(SPlotHandles)
+
+if isfield(SPlotHandles,'Scaled') == 1
+
+ delete(SPlotHandles.Scaled.WireFrameHandle);
+ delete(SPlotHandles.Scaled.Glenoid);
+ delete(SPlotHandles.Ellipsoid_scaled);
+end
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Load_Kinematics.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Load_Kinematics.m
new file mode 100755
index 0000000..a1271ad
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Load_Kinematics.m
@@ -0,0 +1,132 @@
+function SSDATA = SUBJECT_TOOL_Load_Kinematics(SGUIHandle)
+%{
+Function to load/check a measured kinematics to the model.
+--------------------------------------------------------------------------
+Syntax :
+SSDATA = SUBJECT_TOOL_Load_Kinematics(SGUIHandle)
+--------------------------------------------------------------------------
+File Description :
+This function is the callback script to load the Masured
+Kinematics. It allows the user to load the measured kinematic files and
+then it checks if the uploaded file has the required structure.
+--------------------------------------------------------------------------
+%}
+
+
+% ------------------------------------------------------------------------
+% let the user load the data
+% ------------------------------------------------------------------------
+% initialize the SSDATA
+SSDATA = [];
+
+% define the initial folder (path) that the user can look for the file
+currentFile = get(SGUIHandle.Measured_Kinematics.Text, 'String');
+ if (~isempty(currentFile))
+ % If a file was already loaded, start in that directory
+ startPath = fileparts(currentFile);
+ else
+ % Start in current directory
+ startPath = pwd;
+ end
+
+% open the getfile window and let the user choose only amongst the *.mat
+% files. In the next part we will check other requirements regarding the
+% chosen file
+[filename, modelPath] = uigetfile({'*.mat' 'MAT-file ';...
+ '*.mat' 'MAT file (*.mat)'},...
+ 'Select the measured kinematics file',startPath);
+
+% if the user chose a file
+if (filename ~= 0)
+ % if exist('filename')~=0
+ fullfileName = [modelPath filename];
+ SSDATA = check_the_kinematics_file(SSDATA, SGUIHandle, fullfileName);
+end
+
+% display a message for the user
+msgbox(['the measured kinematics data is imported and saved in',...
+ 'SSDATA.Measured_Kinematics data structure'], 'Success');
+
+return;
+
+% ------------------------------------------------------------------------
+% check the chosen kinematics file
+% ------------------------------------------------------------------------
+function SSDATA = check_the_kinematics_file(SSDATAin, SGUIHandle, fullfileName)
+
+% initialize the SSDATA
+SSDATA = SSDATAin;
+
+% use the chosen file path/name and show it in the textbox in the GUI page
+set(SGUIHandle.Measured_Kinematics.Text, 'String', fullfileName);
+
+% specify the required data in the kinematic file
+% 1) list of the required landmarks
+required_landmarks_list = ['IJ';'PX';'T8';'C7';'SC';'Ac';
+ 'AA';'EL';'EM';'US';'RS']; % here is the full list of the landmarks that indeed here 'IJ';'PX';'T8';'C7';'SC';'AC';'GH';'HU';'TS';'AI';'AA';'EL';'EM';'CP';'US';'RS'
+ % NOTE: if the imported least has more landmarks than what it's specified
+ % it's not a problem. If, once I wanted to differentiate with that to
+ % force the accepting only the files with exact number and name of landmarks
+ % we have to first use fieldnames(filename) to have them in a cell array and
+ % then draw the parallel within the for loop as it is now. In otehr words,
+ % the eval only allows a whole to an invidual comparision not a one to one
+ % comparision.
+
+% make sure that a right file is chosen by the user
+[~, filename, ext] = fileparts(fullfileName); % returns the path, file name, and file name extension for the specified "filename"
+
+ if strcmp(ext,'.mat') % if the extension is mat then load it otherwise do nothing
+ load(fullfileName);
+
+ % Check whether the chosen file contains the required fields.
+ for landmarks_check_id = 1:length(required_landmarks_list)
+
+ if ~isfield(eval(filename),required_landmarks_list(landmarks_check_id,:))
+ fprintf('Bony landmark %s was not found in the loaded data. \n Please try a different kinematic file and make sure it \n has the requirements mentioned in the help menu. \n', required_landmarks_list(landmarks_check_id,:));
+ %disp(['Bony landmark ''' required_landmarks_list(landmarks_check_id,:) ''' was not found in the loaded data',...
+ % '.\n Please try a different kinematic file after reading the file requirement from the help meneu']);
+ return;
+ end
+ end
+
+ SSDATA.Measured_Kinematics = eval(filename);
+ end
+
+
+return;
+
+
+
+
+% figure;
+%
+% for landmark_id = 2:length(Landmarks_Names)
+%
+% Landmarks_Coordinate = eval(['VICON.' Landmarks_Names{landmark_id} '(1000,:)']);
+%
+% hold on;
+%
+% plot3(Landmarks_Coordinate(1), Landmarks_Coordinate(2), Landmarks_Coordinate(3),...
+% 'color', 'black','linewidth', 2,'marker', 'o','markerfacecolor', 'red','markeredgecolor', 'red');
+%
+% text(Landmarks_Coordinate(1), Landmarks_Coordinate(2), Landmarks_Coordinate(3),...
+% Landmarks_Names{landmark_id},'color','b','fontsize',12,'fontweight','bold','HorizontalAlignment','left')
+%
+%
+% end
+% axis square
+
+
+% %%
+% % small for loop to make a desirable kinematics source file
+% required_landmarks_list = ['AJ';'PX';'T8';'C7';'SC';'AC';
+% 'AA';'EL';'EM';'US';'RS'];
+%
+% for landmarks_check_id = 1: length(required_landmarks_list)
+%
+% eval(['try1.' required_landmarks_list(landmarks_check_id,:) '=[];']);
+% end
+% save('/Users/ehsan/Desktop/try1.mat','try1');
+% %save('/Users/ehsan/Desktop/try1.mat','-struct','REDATA')
+% %
+% %
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Overwirte_Scaling.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Overwirte_Scaling.m
new file mode 100755
index 0000000..fc786fb
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Overwirte_Scaling.m
@@ -0,0 +1,67 @@
+function DYDATA = SUBJECT_TOOL_Overwirte_Scaling(DYDATAin, SSDATAin, SGUIHandle, )
+%{
+Function for updating the inertia properties of the generic model based on
+the subject weight and height
+--------------------------------------------------------------------------
+Syntax :
+
+--------------------------------------------------------------------------
+File Description :
+This function based on the measured bony landmarks will scale the sedgment
+lengths that itself affects the sedgemnts inertia. It overwrite all the
+scaling on the scalings from the height and weight except for few things
+such as the sedgment weghts that are scaled using the body weight. The
+other thing that this function does is scaling the bony landmarks and
+insertion/origin of the muscles and their associated wrapping data.
+The segment lenghts are defined based on specific bony landmarks that are
+taken from:
+
+--------------------------------------------------------------------------
+%}
+% initialize the inputs
+DYDATA = DYDATAin;
+
+% take the subject's gender from the GUI
+Subject_Gender = get(SGUIHandle.Gender_Selection.Gender,'Value');
+
+% take the subject's weight [Kg] from the GUI
+Subject_Weight = str2double(get(SGUIHandle.Weight_Selection.Weight,'String'));
+
+% ------------------------------------------------------------------------
+% Update the inertia data
+% ------------------------------------------------------------------------
+% 1) define the segments lenght using the measured kinematics data
+
+ DYDATA.Segments_Lenghts.Humerus = (27.1/177)*Subject_Height; % scale the humerus lenght according to the body height
+ DYDATA.Segments_Lenghts.Ulna = (28.3/177)*Subject_Height; % scale the ulna lenght according to the body height
+ DYDATA.Segments_Lenghts.Radius = (28.3/177)*Subject_Height; % scale the radius lenght according to the body height
+
+ DYDATA.Inertia(4,1) = (0.315*DYDATA.Segments_Lenghts.Humerus)^2*2.4e-2*Subject_Weight; % Iht
+ DYDATA.Inertia(4,2) = (0.14*DYDATA.Segments_Lenghts.Humerus)^2*2.4e-2*Subject_Weight; % Ihl
+ DYDATA.Inertia(5,1) = (0.275*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.7e-2*Subject_Weight; % Iut
+ DYDATA.Inertia(5,2) = (0.11*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.7e-2*Subject_Weight; % Iul
+ DYDATA.Inertia(6,1) = (0.275*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.7e-2*Subject_Weight; % Irt
+ DYDATA.Inertia(6,2) = (0.11*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.7e-2*Subject_Weight; % Irl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Scale_Measurements.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Scale_Measurements.m
new file mode 100755
index 0000000..d661a56
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Scale_Measurements.m
@@ -0,0 +1,58 @@
+function SSDATA = SUBJECT_TOOL_Scale_Measurements(SGUIHandle, SSDATAin)
+%{
+Function to scale measured kinematics.
+--------------------------------------------------------------------------
+Syntax :
+SSDATA = SUBJECT_TOOL_Scale_Measurements(SGUIHandle, SSDATAin)
+--------------------------------------------------------------------------
+File Description :
+Given that we did not manage/plan to measure the kinematics on each
+patient, we decided to use the measurements of the generic subject for each
+one of the patients from our cohort. Therefore, the measurements must be
+scaled accoridng to the under study patient.
+--------------------------------------------------------------------------
+%}
+
+% initialize the SSDATA
+SSDATA = SSDATAin;
+
+% import the subject's height [m]?from the GUI
+Subject_Height = str2double(get(SGUIHandle.Height_Selection.Height,'String'));
+
+% define the scaling factor
+Height_Scaling_Factor = [Subject_Height/1.86 0 0; 0 Subject_Height/1.86 0; 0 0 Subject_Height/1.86];
+
+% scale the measured landmarks
+for TimeId = 1:length(SSDATA.Measured_Kinematics.IJ)
+
+ IJ(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.IJ(:,TimeId);
+ PX(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.PX(:,TimeId);
+ T8(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.T8(:,TimeId);
+ C7(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.C7(:,TimeId);
+ SC(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.SC(:,TimeId);
+ Ac(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.Ac(:,TimeId);
+ AA(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.AA(:,TimeId);
+ EL(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.EL(:,TimeId);
+ EM(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.EM(:,TimeId);
+ US(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.US(:,TimeId);
+ RS(:,TimeId) = Height_Scaling_Factor*SSDATA.Measured_Kinematics.RS(:,TimeId);
+end
+
+% replace the measured landmarks with the scaled landmarks
+ SSDATA.Measured_Kinematics.IJ = IJ;
+ SSDATA.Measured_Kinematics.PX = PX;
+ SSDATA.Measured_Kinematics.T8 = T8;
+ SSDATA.Measured_Kinematics.C7 = C7;
+ SSDATA.Measured_Kinematics.SC = SC;
+ SSDATA.Measured_Kinematics.Ac = Ac;
+ SSDATA.Measured_Kinematics.AA = AA;
+ SSDATA.Measured_Kinematics.EL = EL;
+ SSDATA.Measured_Kinematics.EM = EM;
+ SSDATA.Measured_Kinematics.US = US;
+ SSDATA.Measured_Kinematics.RS = RS;
+
+ return;
+
+
+
+
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_Glenoid_Orientation.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_Glenoid_Orientation.m
new file mode 100755
index 0000000..585a9b1
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_Glenoid_Orientation.m
@@ -0,0 +1,33 @@
+
+function SUBJECT_TOOL_Show_Glenoid_Orientation(SGUIHandle, BLDATA)
+
+%{
+Function for showing the glenoid orientations in the model.
+--------------------------------------------------------------------------
+Syntax :
+
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+
+% get the orientation value from the GUI
+AngleID = get(SGUIHandle.Glenoid_Orientations.Popupmenu, 'value') - 1;
+
+% update the orientation angles
+if AngleID>0 && AngleID<3
+ % glenoid version and inclination, respectively
+ %set(SGUIHandle.Glenoid_Orientations.Value, 'String', num2str(BLDATA.Glenoid_Orientations(AngleID)));
+ set(SGUIHandle.Glenoid_Orientations.Value, 'String', num2str(BLDATA.Glenoid_Orientations(AngleID)));
+elseif AngleID==3 % set the implant/HH diameter
+ set(SGUIHandle.Glenoid_Orientations.Value, 'String', num2str(BLDATA.Glenoid_Orientations(AngleID)));
+elseif AngleID>3
+ % glenoid fossa center in the scapula frame of each patient
+ set(SGUIHandle.Glenoid_Orientations.Value, 'String', num2str(BLDATA.Glenoid_Orientations(1, AngleID:6)));
+else
+ set(SGUIHandle.Glenoid_Orientations.Value, 'String', []);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_PCSA.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_PCSA.m
new file mode 100755
index 0000000..b406da5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Show_PCSA.m
@@ -0,0 +1,23 @@
+function SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA)
+
+%{
+Function for showing the initial PCSA based on the choice of muscle from the popup menu.
+--------------------------------------------------------------------------
+Syntax :
+SGUIHandle = SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA)
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+
+
+MuscleID = get(SGUIHandle.PCSA_Selection.MuscleName, 'value') - 1;
+
+if MuscleID>0
+set(SGUIHandle.PCSA_Selection.PCSA, 'String', num2str(1e4*MWDATA{MuscleID, 1}.MSCInfo.PCSA));
+else
+set(SGUIHandle.PCSA_Selection.PCSA, 'String', []);
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Glenoid_Orientation.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Glenoid_Orientation.m
new file mode 100755
index 0000000..1cba0fc
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Glenoid_Orientation.m
@@ -0,0 +1,35 @@
+function BLDATA = SUBJECT_TOOL_Update_Glenoid_Orientation(SGUIHandle, BLDATAin)
+
+%{
+Function for updating the glenoid orientations in the model.
+--------------------------------------------------------------------------
+Syntax :
+BLDATA = SUBJECT_TOOL_Update_Glenoid_Orientation(SGUIHandle, BLDATAin)
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+
+% initialize the DYDATA
+BLDATA = BLDATAin;
+
+% get the orientation value from the GUI
+AngleID = get(SGUIHandle.Glenoid_Orientations.Popupmenu, 'value') - 1;
+
+% update the orientation angles
+if AngleID>0 && AngleID<3
+ % set the version and inclination, respectively
+ BLDATA.Glenoid_Orientations(AngleID) = str2double(get(SGUIHandle.Glenoid_Orientations.Value, 'String'));
+elseif AngleID==3 % set the implant/HH diameter
+ BLDATA.Glenoid_Orientations(AngleID) = str2double(get(SGUIHandle.Glenoid_Orientations.Value, 'String'));
+elseif AngleID>3
+ % set the GC_SA (glenoid fossa center in the scapula coordinate)
+ BLDATA.Glenoid_Orientations(1, AngleID:6) = str2num(get(SGUIHandle.Glenoid_Orientations.Value, 'String'));
+else
+ % do nothing because the user will not put values under the "slected"
+ % popup
+end
+
+return;
+
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_PCSA.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_PCSA.m
new file mode 100755
index 0000000..2ee7ba9
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_PCSA.m
@@ -0,0 +1,60 @@
+function MWDATA = SUBJECT_TOOL_Update_PCSA(SGUIHandle, MWDATAin)
+
+%{
+Function for adapting the PCSA of different muscles.
+--------------------------------------------------------------------------
+Syntax :
+MWDATA = SUBJECT_TOOL_Update_PCSA(SGUIHandle, MWDATAin)
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+
+MWDATA = MWDATAin; % initialize the input
+
+MuscleID = get(SGUIHandle.PCSA_Selection.MuscleName, 'value') - 1; % get the muscle idea that the user wants to change
+
+NewPCSA = str2double(get(SGUIHandle.PCSA_Selection.PCSA, 'String')); % get the associated value for the PCSA of the selected muscle
+
+if MuscleID>0
+MWDATA{MuscleID, 1}.MSCInfo.PCSA = 1e-4*NewPCSA; % update the associated value for the PCSA from the generic model
+
+MWDATA{MuscleID,1}.MSCInfo.Fmax = NewPCSA*3.3011*10; % update the maximum force of the muscle based on the change in the PCSA
+else% scale everything based on the BMI of the subject
+% Subject_Gender = get(SGUIHandle.Gender_Selection.Gender,'Value'); % import the subject's gender?from the GUI
+%
+% Subject_Weight = str2double(get(SGUIHandle.Weight_Selection.Weight,'String')); % import the subject's weight [Kg]?from the GUI
+%
+% Subject_Height = str2double(get(SGUIHandle.Height_Selection.Height,'String')); % import the subject's height [m]?from the GUI
+%
+% BMI = Subject_Weight/(Subject_Height^2);
+%
+% R_m_g = 1-(-0.09 + 0.0149*(85.5/(1.86^2)) - 0.00009*((85.5/(1.86^2))^2));
+%
+% if Subject_Gender == 2 % male
+%
+% R_f = -0.09 + 0.0149*BMI - 0.00009*(BMI^2);
+%
+% R_m = 1 - R_f;
+%
+% PCSA_scaling_factor = R_m/R_m_g;
+%
+% elseif Subject_Gender == 3 % female
+%
+% R_f = -0.08 + 0.0203*BMI - 0.000156*(BMI^2);
+%
+% R_m = 1 - R_f;
+%
+% PCSA_scaling_factor = R_m/R_m_g;
+% end
+%
+% for muscle_id = 1: 42
+% MWDATA{muscle_id, 1}.MSCInfo.PCSA = PCSA_scaling_factor*MWDATA{muscle_id, 1}.MSCInfo.PCSA;
+% MWDATA{muscle_id,1}.MSCInfo.Fmax = 3.3011*10*MWDATA{muscle_id, 1}.MSCInfo.PCSA;
+% end
+
+ % do nothing
+end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Weight.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Weight.m
new file mode 100755
index 0000000..effda3e
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Update_Weight.m
@@ -0,0 +1,108 @@
+function [DYDATA, MWDATA] = SUBJECT_TOOL_Update_Weight(SGUIHandle, DYDATAin, MWDATAin)
+
+%{
+Function for updating the inertia properties of the generic model based on
+the subject weight and height
+--------------------------------------------------------------------------
+Syntax :
+SUBJECT_TOOL_Update_PCSA(SGUIHandle, MWDATA)
+--------------------------------------------------------------------------
+File Description :
+The scaling factors here are mainly choosen from: "R. Dumas et al. / Journal
+of Biomechanics 40 (2007) 543?553".
+For those properties such as scpula mass which there was not the associated
+information in that paper I simply defined the scaling factor such that we
+can have the same value for at least the generic model. This can be
+improved later on easily in case we had the associated scaling factors for
+these bones. Clavicle, ulna, and radius have the same story. Clavicle and
+scapula keep their generic inertia values
+--------------------------------------------------------------------------
+%}
+DYDATA = DYDATAin; % initialize the inputs
+MWDATA = MWDATAin;
+
+
+Subject_Gender = get(SGUIHandle.Gender_Selection.Gender,'Value'); % import the subject's gender?from the GUI
+
+Subject_Weight = str2double(get(SGUIHandle.Weight_Selection.Weight,'String')); % import the subject's weight [Kg]?from the GUI
+
+Subject_Height = str2double(get(SGUIHandle.Height_Selection.Height,'String')); % import the subject's height [m]?from the GUI
+
+DYDATA.Height_Scaling_Factor = [Subject_Height/1.86 0 0; 0 Subject_Height/1.86 0; 0 0 Subject_Height/1.86]; % define the scaling factor to scale the bony landmarks
+%DYDATA.Height_Scaling_Factor = [1 0 0; 0 1 0; 0 0 Subject_Height/1.86]; % define the scaling factor to scale the bony landmarks
+
+BMI = Subject_Weight/(Subject_Height^2); % BMI of the understudy subject
+
+R_m_g = 1-(-0.09 + 0.0149*(85.5/(1.86^2)) - 0.00009*((85.5/(1.86^2))^2)); % body muscle percentage of the generic model
+
+
+if Subject_Gender == 2 % male subject
+ % for scaling the PCSA based on the body weight
+ R_f = -0.09 + 0.0149*BMI - 0.00009*(BMI^2);
+ R_m = 1 - R_f;
+ PCSA_scaling_factor = R_m/R_m_g;
+ % save this for the EMG assisted load-sharing
+ DYDATA.PCSA_scaling_factor = PCSA_scaling_factor;
+
+ DYDATA.Inertia(1,1) = 0.18e-2*Subject_Weight; % Mc
+ DYDATA.Inertia(1,2) = 0.82e-2*Subject_Weight; % Ms
+ DYDATA.Inertia(1,3) = 2.4e-2*Subject_Weight; % Mh
+ DYDATA.Inertia(1,4) = 0.62*1.7e-2*Subject_Weight; % Mu: This one is a bit messy, because the forearm is mentioned in the BSIP studies and I deceided to consider 62% of the forearm mass as the ulna
+ DYDATA.Inertia(1,5) = 0.38*1.7e-2*Subject_Weight; % Mr: The same as above.
+% DYDATA.Inertia(2,1) = % Ict: Clavicle and scapula keep their generic inertia values
+% DYDATA.Inertia(2,2) = % Icl
+% DYDATA.Inertia(3,1) = % Ist
+% DYDATA.Inertia(3,2) = % Isl
+
+ DYDATA.Segments_Lenghts.Humerus = (27.1/177)*Subject_Height; % scale the humerus lenght according to the body height
+ DYDATA.Segments_Lenghts.Ulna = (28.3/177)*Subject_Height; % scale the ulna lenght according to the body height
+ DYDATA.Segments_Lenghts.Radius = (28.3/177)*Subject_Height; % scale the radius lenght according to the body height
+
+ DYDATA.Inertia(4,1) = (0.315*DYDATA.Segments_Lenghts.Humerus)^2*2.4e-2*Subject_Weight; % Iht
+ DYDATA.Inertia(4,2) = (0.14*DYDATA.Segments_Lenghts.Humerus)^2*2.4e-2*Subject_Weight; % Ihl
+ DYDATA.Inertia(5,1) = (0.275*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.7e-2*Subject_Weight; % Iut
+ DYDATA.Inertia(5,2) = (0.11*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.7e-2*Subject_Weight; % Iul
+ DYDATA.Inertia(6,1) = (0.275*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.7e-2*Subject_Weight; % Irt
+ DYDATA.Inertia(6,2) = (0.11*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.7e-2*Subject_Weight; % Irl
+
+elseif Subject_Gender == 3 % female subject
+ % for scaling the PCSA using the body weight
+
+ R_f = -0.08 + 0.0203*BMI - 0.000156*(BMI^2);
+ R_m = 1 - R_f;
+ PCSA_scaling_factor = R_m/R_m_g;
+ % save this for the EMG assisted load-sharing
+ DYDATA.PCSA_scaling_factor = PCSA_scaling_factor;
+
+ DYDATA.Inertia(1,1) = 0.18e-2*Subject_Weight; % Mc
+ DYDATA.Inertia(1,2) = 0.82e-2*Subject_Weight; % Ms
+ DYDATA.Inertia(1,3) = 2.2e-2*Subject_Weight; % Mh
+ DYDATA.Inertia(1,4) = 0.62*1.3e-2*Subject_Weight; % Mu
+ DYDATA.Inertia(1,5) = 0.38*1.3e-2*Subject_Weight; % Mr
+
+% DYDATA.Inertia(2,1) = % Ict
+% DYDATA.Inertia(2,2) = % Icl
+% DYDATA.Inertia(3,1) = % Ist
+% DYDATA.Inertia(3,2) = % Isl
+
+ DYDATA.Segments_Lenghts.Humerus = (24.3/161)*Subject_Height; % scale the humerus lenght according to the body height
+ DYDATA.Segments_Lenghts.Ulna = (24.7/161)*Subject_Height; % scale the ulna lenght according to the body height
+ DYDATA.Segments_Lenghts.Radius = (24.7/161)*Subject_Height; % scale the radius lenght according to the body height
+
+ DYDATA.Inertia(4,1) = (0.33*DYDATA.Segments_Lenghts.Humerus)^2*2.2e-2*Subject_Weight; % Iht
+ DYDATA.Inertia(4,2) = (0.17*DYDATA.Segments_Lenghts.Humerus)^2*2.2e-2*Subject_Weight; % Ihl
+ DYDATA.Inertia(5,1) = (0.255*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.3e-2*Subject_Weight; % Iut
+ DYDATA.Inertia(5,2) = (0.14*DYDATA.Segments_Lenghts.Ulna)^2*0.62*1.3e-2*Subject_Weight; % Iul
+ DYDATA.Inertia(6,1) = (0.255*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.3e-2*Subject_Weight; % Irt
+ DYDATA.Inertia(6,2) = (0.14*DYDATA.Segments_Lenghts.Radius)^2*0.38*1.3e-2*Subject_Weight; % Irl
+else
+ disp('Please specify the subject''s gender.');
+end
+
+% updating the PCSA
+ for muscle_id = 1: 42
+ MWDATA{muscle_id, 1}.MSCInfo.PCSA = PCSA_scaling_factor*MWDATA{muscle_id, 1}.MSCInfo.PCSA;
+ MWDATA{muscle_id,1}.MSCInfo.Fmax = PCSA_scaling_factor*MWDATA{muscle_id,1}.MSCInfo.Fmax;
+ end
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Visualization.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Visualization.m
new file mode 100755
index 0000000..bbbb57f
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_Visualization.m
@@ -0,0 +1,85 @@
+function SPlotHandles = SUBJECT_TOOL_Visualization(SHandle, SPlotHandlesin, BLDATA, DYDATA, REDATA)
+
+%{
+Function for visualization of the scaled anthrometry data.
+--------------------------------------------------------------------------
+Syntax :
+
+--------------------------------------------------------------------------
+File Description :
+
+--------------------------------------------------------------------------
+%}
+% initialize the plot handle
+SPlotHandles = SPlotHandlesin;
+
+% Set the Axis
+set(SHandle, 'currentaxes', SPlotHandles.SubjectSpecificVisualisationAxes);
+
+hold on;
+
+% -------------------------------------------------------------------------
+% Create the 3-D Wire Frame Visualisations
+% -------------------------------------------------------------------------
+SPlotHandles.Scaled.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+SPlotHandles.Scaled.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+SPlotHandles.Scaled.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+SPlotHandles.Scaled.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+SPlotHandles.Scaled.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+SPlotHandles.Scaled.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+
+% set the bony landmarks color to blue
+for wire = 1:6
+ set(SPlotHandles.Scaled.WireFrameHandle(wire),'markerfacecolor', 'blue','markeredgecolor', 'blue')
+end
+
+% -------------------------------------------------------------------------
+% visualize the glenoid fossa
+% -------------------------------------------------------------------------
+% % update the cone rotation matrix according to the glenoid orientations
+% % data from the subject specific toolbox
+% % 1) inclination
+% Inc = BLDATA.Glenoid_Orientations(1);
+% % 2) version (shown by declination)
+% Dec = BLDATA.Glenoid_Orientations(2);
+%
+% % get the generic values for inclination and version
+% Inc0 = BLDATA.Glenoid_Orientations_Unchanged(1);
+% Dec0 = BLDATA.Glenoid_Orientations_Unchanged(2);
+%
+% % define the rotational operator to rotate the cone base center in the cone
+% % frame by the given values for inclination and version (note that it's an
+% % operator and therefore a transpose of a rotation matrix)
+% R_opt = [cosd(Dec-Dec0) -sind(Dec-Dec0) 0;sind(Dec-Dec0) cosd(Dec-Dec0) 0;0 0 1]*...
+% [cosd(Inc-Inc0) 0 sind(Inc-Inc0);0 1 0;-sind(Inc-Inc0) 0 cosd(Inc-Inc0)];
+
+% define the generic glenoid fossa
+C = DYDATA.Cone_Rb'*DYDATA.ConeCentre; % cone base center in cone frame in the generic model
+
+theta = linspace(0, 2*pi, DYDATA.NbConstraints);
+
+P = [zeros(1,DYDATA.NbConstraints)+C(1);
+ DYDATA.ConeDimensions(1)*cos(theta)+C(2);
+ DYDATA.ConeDimensions(2)*sin(theta)+C(3)]; % fossa points in cone frame in the generic model
+
+% rotate the fossa ellipse and draw it in the thorax (matlab) frame
+for i = 1:DYDATA.NbConstraints
+ %P_inT = DYDATA.Cone_Rb*P(:,i)*1e3 + BLDATA.Initial_Points.GH; % wrong
+ %P_inT = DYDATA.Cone_Rb*R_opt*P(:,i)*1e3 + BLDATA.Initial_Points.GH; % first rotate the fossa points by the R_opt and then transfer them to the thorax frame to be drawn
+ P_inT = DYDATA.Cone_Rb*P(:,i)*1e3 + BLDATA.Initial_Points.GH;
+
+ hold on
+ SPlotHandles.Scaled.Glenoid(i) = plot3(P_inT(1), P_inT(2), P_inT(3),'marker', 'o','markersize',4,'markerfacecolor', 'blue','markeredgecolor', 'blue');
+end
+
+
+% ploting the scaled ribcage
+SPlotHandles.Ellipsoid_scaled = [];
+SPlotHandles.Ellipsoid_scaled = VISUALISATION_view_ribcage_ellipsoid('AI', SPlotHandles.Ellipsoid_scaled, REDATA);
+%SPlotHandles.Ellipsoid = VISUALISATION_view_ribcage_ellipsoid('AI', SPlotHandles.Ellipsoid, REDATA);
+
+set(SPlotHandles.Ellipsoid_scaled, 'facecolor', 'blue', 'facealpha', 0.2, 'edgealpha', 0.2);
+
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_bony_landmark.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_bony_landmark.m
new file mode 100755
index 0000000..02b3263
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_bony_landmark.m
@@ -0,0 +1,427 @@
+
+function BLDATA = SUBJECT_TOOL_build_data_bony_landmark(BLDATAin, DYDATA)
+% Function to scale the bony landmarks
+%--------------------------------------------------------------------------
+% Syntax :
+% BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function includes the bony landmarks received from
+AMIRA and transforms them into BLDATA.Original_Points.
+It also:
+
+ 1- defines the rotation matrix from AMIRA to MATLAB:
+ BLDATA.Amira_to_MATLAB.Rt = R_am
+
+ 2- sets the initial and current points to the original points to
+ initialize the code.
+ BLDATA.Original_Points ----> BLDATA.Initial_Points
+ BLDATA.Original_Points ----> BLDATA.Current_Points
+
+ 3- defines the original rotation matrices of the bones fixed frames
+ and also sets the initial and current ones to original:
+ BLDATA.Original_Matrices_L2A,
+ BLDATA.Initial_Matrices_L2A,
+ BLDATA.Current_Matrices_L2A
+
+ 4- saves the points needed to plot the wireframes of the bones:
+ BLDATA.Original_WFBones,
+ BLDATA.Initial_WFBones,
+ BLDATA.Current_WFBones
+
+ Garner & Pandy Scapular reference frame to compare moment arms and
+ validate
+ BLDATA.Original_GnP.Rs
+ BLDATA.Initial_GnP.Rs
+ BLDATA.Current_GnP.Rs
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+BLDATA = BLDATAin;
+
+% scaling factor to scale the landmarks according to the body height
+Height_Scaling_Factor = DYDATA.Height_Scaling_Factor;
+
+%--------------------------------------------------------------------------
+% BONY LANDMARKS IN AMIRA REFERENCE FRAME
+%--------------------------------------------------------------------------
+IJ = Height_Scaling_Factor*[ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = Height_Scaling_Factor*[ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = Height_Scaling_Factor*[ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = Height_Scaling_Factor*[ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = Height_Scaling_Factor*[ 56.6771; -69.2782; 72.7629]; % Sternoclaviuclar joint
+%SC= [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = Height_Scaling_Factor*[ -82.2127; -25.2576; 148.444]; % Sternoclaviuclar joint
+%AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+%TS = Height_Scaling_Factor*[ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+%AI = Height_Scaling_Factor*[ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+TS = Height_Scaling_Factor*[-1.585891723632813e+000; 5.131806945800781e+001; 1.226403579711914e+002]; % new values from Yasmine 1Aug2018
+AI = Height_Scaling_Factor*[-4.471809387207031e+000; 4.468699645996094e+001; -8.649490356445313e+000]; % new values from Yasmine 1Aug2018
+AA = Height_Scaling_Factor*[ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+SN = Height_Scaling_Factor*[-5.834277343750000e+001; 1.268512725830078e+000; 1.163459472656250e+002]; % Spino-glenoid Notch
+S1 = Height_Scaling_Factor*[-4.437187576293945e+001; 1.044776678085327e+000; 1.171667938232422e+002]; % the most lateral point on the supraspinatus fossa
+S2 = Height_Scaling_Factor*[-2.524987030029297e+001; 3.014913558959961e+001; 1.212621765136719e+002]; % one of the other 4 points on the supraspinatus fossa
+S3 = Height_Scaling_Factor*[-4.073601150512695e+001; 9.907344818115234e+000; 1.174581298828125e+002]; % one of the other 4 points on the supraspinatus fossa
+S4 = Height_Scaling_Factor*[-3.028522109985352e+001; 2.512048149108887e+001; 1.201423034667969e+002]; % one of the other 4 points on the supraspinatus fossa
+S5 = Height_Scaling_Factor*[-3.626570129394531e+001; 1.977687454223633e+001; 1.190045471191406e+002]; % one of the other 4 points on the supraspinatus fossa
+
+%GH = Height_Scaling_Factor*[ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+GH = Height_Scaling_Factor*[-84.5443; -33.5688; 106.6692]; % Glenohumeral joint constructed with no subluxation
+
+% HU = Height_Scaling_Factor*[ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint= 0.5(EM+EL)
+% EL = Height_Scaling_Factor*[ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+% EM = Height_Scaling_Factor*[ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+% %CP = [ -117.9780; 20.2045; -201.1550]; %Capitulum center
+% CP = Height_Scaling_Factor*[ -119.7196; -47.9465; -207.6489]; %Capitulum center
+% %US = [ -119.1449; -32.0329; -459.3816]; %Ulna Styloid
+% US = Height_Scaling_Factor*[-95.6657; -160.7194; -450.9589]; %Ulna Styloid %-8.112e+001; -1.278e+001; -4.720e+002
+% %RS = [ -80.0832; -17.1580; -471.3330]; %Radius Styloid
+% RS = Height_Scaling_Factor*[-62.2966; -134.5104; -464.3826];%Radius Styloid % -1.217e+002; -1.615e+001; -4.655e+002
+
+%--------------------------------------------------------------------------
+% BUILD AMIRA TO MATLAB HOMOGENEOUS TRANFORMATION & TRANSFORM ALL POINTS
+%--------------------------------------------------------------------------
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]'; %R_am=R_matlab', which means
+%R_matlab map the points in matlab to AMIRA. For instance if you think
+%about R_matlab*[1 0 0]' it returns the associated vector (point) related
+%to the x axis of matlab in amira. Obviously it will be the first column of
+%the R_matlab.
+
+% Homogeneous transformation Matrix which maps a point in AMIRA to matlab
+% coordinate system
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+%--------------------------------------------------------------------------
+% SAVE THE AMIRA TO MATLAB HOMEGENEOUS TRANSFORMATON
+%--------------------------------------------------------------------------
+BLDATA.Amira_to_MATLAB.Rt = R_am;
+BLDATA.Amira_to_MATLAB.IJ = IJ;
+
+% Transform all points to MATLAB reference frame and then get rid of the
+% homegeneous part
+IJ = H_am*[IJ; 1]; IJ = IJ(1:3,1);
+PX = H_am*[PX; 1]; PX = PX(1:3,1);
+T8 = H_am*[T8; 1]; T8 = T8(1:3,1);
+C7 = H_am*[C7; 1]; C7 = C7(1:3,1);
+SC = H_am*[SC; 1]; SC = SC(1:3,1);
+AC = H_am*[AC; 1]; AC = AC(1:3,1);
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+AA = H_am*[AA; 1]; AA = AA(1:3,1);
+GH_scaled = H_am*[GH; 1]; GH_scaled = GH_scaled(1:3,1);
+SN = H_am*[SN; 1]; SN = SN(1:3,1);
+S1 = H_am*[S1; 1]; S1 = S1(1:3,1);
+S2 = H_am*[S2; 1]; S2 = S2(1:3,1);
+S3 = H_am*[S3; 1]; S3 = S3(1:3,1);
+S4 = H_am*[S4; 1]; S4 = S4(1:3,1);
+S5 = H_am*[S5; 1]; S5 = S5(1:3,1);
+
+% define the subject specific GH point based on glenoid orientation, note
+% that if the glenoid orientation is not defined by the user, the GH point
+% will be constructed such that the glenoid orientation stays the same as
+% the generic model
+ % 1) scale the humeral head
+ if isequal(BLDATA.Glenoid_Orientations_Generic(1, 3), BLDATA.Glenoid_Orientations(1, 3))
+ HH_radius_ss = Height_Scaling_Factor(1, 1)*BLDATA.Glenoid_Orientations(1, 3); % scale the diamter
+ else
+ HH_radius_ss = BLDATA.Glenoid_Orientations(1, 3); % take subject specific diameter
+ end
+
+ % 2) calculate the glenoid center line from glenoid verison and
+ % inlcination from the subject
+GV = BLDATA.Glenoid_Orientations_Generic(1, 1);
+GI = BLDATA.Glenoid_Orientations_Generic(1, 2);
+GV = BLDATA.Glenoid_Orientations(1, 1);
+GI = BLDATA.Glenoid_Orientations(1, 2);
+
+GC_axis = [sind(GV)*cosd(GI) cosd(GV)*sind(GI) cosd(GV)*cosd(GI)]';
+GC_axis = GC_axis/norm(GC_axis);
+ % 3) calculate the subject specific GH in glenoid frame
+GH_new_g = HH_radius_ss*GC_axis;
+ % 4) transform the new GH to thorax coordinate system (Matlab). To this
+ % end we need to have the Rsa rotation matrix for the scaled model.
+ % It's the secondary scapula coordinate system according to A. Terrier, et
+ % al, Bone Joint J 2014;96-B:513?18.
+ % 4-a) define the scapula plane
+ % define the plane normal vector (posterior-anterior positive)
+ X_SA = cross((S1 - AI), (S1 - TS)); X_SA = X_SA/norm(X_SA);
+
+ % 4-b) project the five points of the supraspinatus fossa on the scapula plane
+ landmark_list = {'SN' 'S2' 'S3' 'S4' 'S5'}; % list of landmarks to be projected
+
+ for land_id = 1:length(landmark_list)
+ t = X_SA'*(S1 - eval(landmark_list{land_id})); % line parameter in projection
+ projected.(landmark_list{land_id}) = eval(landmark_list{land_id}) + t*X_SA; % projected points
+ end
+
+ % 4-c) fit a line through the 4 projected points of the supraspinatus fossa
+ % and S1. The projected SN will be used as the origin of the scapula
+ % coordnate system
+ Z_SA = fitLine([S1, projected.S2, projected.S3, projected.S4, projected.S5]');
+ %coeffs = princomp([S1, projected.S2, projected.S3, projected.S4, projected.S5]');
+ %Z_SA = coeffs(:,1);
+
+ Z_SA = Z_SA/norm(Z_SA);
+
+ % 4-d) construct the scapula coordinate system and its rotation matrix
+ X_SA = X_SA; % x axis of the scapula coordinate system
+ Z_SA = Z_SA; % z axis of the scapula coordinate system
+ Y_SA = cross(Z_SA, X_SA); Y_SA = Y_SA/norm(Y_SA); % y axis of the scapula coordinate system
+
+ Rsa = [X_SA, Y_SA, Z_SA]; % local ---> global
+
+ % 4-e) transform the point
+ if isequal(BLDATA.Glenoid_Orientations_Generic(1, 4:6)', BLDATA.Glenoid_Orientations(1, 4:6)')
+ GC_sa = Height_Scaling_Factor*BLDATA.Glenoid_Orientations(1, 4:6)'; % scale the glenoid fossa center point
+ else
+ GC_sa = BLDATA.Glenoid_Orientations(1, 4:6)'; % take subject specific glenoid fossa center point
+ end
+
+ GH = projected.SN + Rsa*(GC_sa + eye(3)*GH_new_g);
+
+ BLDATA.Original_Points.GC = projected.SN + Rsa*GC_sa; % for the glenoid cone we'll need glenoid center in thorax
+
+ % 5) define the offset vector
+ offset_T = GH - GH_scaled; % offset vector in thorax is the vector from the scaled GH in thorax to the new subject specific GH
+ offset_Amira = R_am'*offset_T;
+ BLDATA.offset_Amira = R_am'*offset_T;
+
+% scale and shift the rest of the bony landmarks (on the hand)
+HU = Height_Scaling_Factor*[-103.7780; -33.3235; -205.8640] + offset_Amira; % Humeroulnar joint= 0.5(EM+EL)
+EL = Height_Scaling_Factor*[-127.2850; -54.8861; -208.4960] + offset_Amira; % Lateral epicondyle
+EM = Height_Scaling_Factor*[-80.2709; -11.7610; -203.2320] + offset_Amira; % Medial epicondyle
+CP = Height_Scaling_Factor*[-119.7196; -47.9465; -207.6489] + offset_Amira; %Capitulum center
+US = Height_Scaling_Factor*[-95.6657; -160.7194; -450.9589] + offset_Amira; %Ulna Styloid
+RS = Height_Scaling_Factor*[-62.2966; -134.5104; -464.3826] + offset_Amira;%Radius Styloid
+
+% transform the points to thorax coordinate system
+HU = H_am*[HU; 1]; HU = HU(1:3,1);
+EL = H_am*[EL; 1]; EL = EL(1:3,1);
+EM = H_am*[EM; 1]; EM = EM(1:3,1);
+CP = H_am*[CP; 1]; CP = CP(1:3,1);
+US = H_am*[US; 1]; US = US(1:3,1);
+RS = H_am*[RS; 1]; RS = RS(1:3,1);
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONE REFERENCE FRAME ROTATION MATRICES
+%--------------------------------------------------------------------------
+
+% Clavicula to Thorax Rotation Matrix
+Xc = AC - SC; Xc = Xc/norm(Xc);
+Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+% Scapula to Thorax Rotation Matrix
+Xs = AA - TS; Xs = Xs/norm(Xs);
+Ys = cross(Xs, AI - TS); Ys = Ys/norm(Ys);
+Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+% Humerus to Thorax Rotation Matrix
+Zh = GH - (EM + EL)/2; Zh = Zh/norm(Zh);
+Yh = cross(GH - EL, EL - EM); Yh = Yh/norm(Yh);
+Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+Rh = [Xh, Yh, Zh]; % Local -> absolute
+
+% Ulna to Thorax Rotation Matrix
+% first choice of segment coordinate for the Ulna
+% Zu = (EM + EL)/2 - US; Zu = Zu/norm(Zu);
+% Yu = cross(US - EL, EL - EM); Yu = Yu/norm(Yu);
+% Xu = cross(Yu, Zu); Xu = Xu/norm(Xu);
+% Ru = [Xu, Yu, Zu]; % Local -> absolute
+% second choice
+Xu = EL-(EM + EL)/2; Xu = Xu/norm(Xu);
+Yu = cross(US - EL, EM - EL); Yu = Yu/norm(Yu);
+Zu = cross(Xu, Yu); Zu = Zu/norm(Zu);
+Ru = [Xu, Yu, Zu]; % Local -> absolute
+
+% Radius to Thorax Rotation Matrix
+Zr = CP - US; Zr = Zr/norm(Zr);
+Yr = cross(CP - RS, RS - US); Yr = Yr/norm(Yr);
+Xr = cross(Yr, Zr); Xr = Xr/norm(Xr);
+Rr = [Xr, Yr, Zr]; % Local -> absolute
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of points in the original configuration and in MATLAB frame
+
+BLDATA.Original_Points.IJ = IJ;
+BLDATA.Original_Points.PX = PX;
+BLDATA.Original_Points.T8 = T8;
+BLDATA.Original_Points.C7 = C7;
+BLDATA.Original_Points.SC = SC;
+BLDATA.Original_Points.AC = AC;
+BLDATA.Original_Points.GH = GH;
+BLDATA.Original_Points.HU = HU;
+BLDATA.Original_Points.TS = TS;
+BLDATA.Original_Points.AI = AI;
+BLDATA.Original_Points.AA = AA;
+BLDATA.Original_Points.EL = EL;
+BLDATA.Original_Points.EM = EM;
+BLDATA.Original_Points.CP = CP;
+BLDATA.Original_Points.US = US;
+BLDATA.Original_Points.RS = RS;
+BLDATA.Original_Points.SN = SN;
+BLDATA.Original_Points.S1 = S1;
+BLDATA.Original_Points.S2 = S2;
+BLDATA.Original_Points.S3 = S3;
+BLDATA.Original_Points.S4 = S4;
+BLDATA.Original_Points.S5 = S5;
+
+
+% Build the original bone wire frames for plotting purposes
+BLDATA.Original_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Original_WFBones.Clavicula = [SC, AC];
+BLDATA.Original_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Original_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Original_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Original_WFBones.Radius = [CP, RS];
+
+
+% Original Rotation Matrices
+BLDATA.Original_Matrices_L2A.Rc = Rc;
+BLDATA.Original_Matrices_L2A.Rs = Rs;
+BLDATA.Original_Matrices_L2A.Rh = Rh;
+BLDATA.Original_Matrices_L2A.Ru = Ru;
+BLDATA.Original_Matrices_L2A.Rr = Rr;
+BLDATA.Original_Matrices_L2A.Rsa = Rsa;
+
+%--------------------------------------------------------------------------
+% BUILD INITIAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% To start, both initial and current data are set to original.
+% List of Points in the initial configuration
+BLDATA.Initial_Points.IJ = IJ;
+BLDATA.Initial_Points.PX = PX;
+BLDATA.Initial_Points.T8 = T8;
+BLDATA.Initial_Points.C7 = C7;
+BLDATA.Initial_Points.SC = SC;
+BLDATA.Initial_Points.AC = AC;
+BLDATA.Initial_Points.GH = GH;
+BLDATA.Initial_Points.HU = HU;
+BLDATA.Initial_Points.TS = TS;
+BLDATA.Initial_Points.AI = AI;
+BLDATA.Initial_Points.AA = AA;
+BLDATA.Initial_Points.EL = EL;
+BLDATA.Initial_Points.EM = EM;
+BLDATA.Initial_Points.CP = CP;
+BLDATA.Initial_Points.US = US;
+BLDATA.Initial_Points.RS = RS;
+BLDATA.Initial_Points.SN = SN;
+BLDATA.Initial_Points.S1 = S1;
+BLDATA.Initial_Points.S2 = S2;
+BLDATA.Initial_Points.S3 = S3;
+BLDATA.Initial_Points.S4 = S4;
+BLDATA.Initial_Points.S5 = S5;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Initial_WFBones.Clavicula = [SC, AC];
+BLDATA.Initial_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Initial_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Initial_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Initial_WFBones.Radius = [CP, RS];
+
+% Initial Rotation Matrices
+BLDATA.Initial_Matrices_L2A.Rc = Rc;
+BLDATA.Initial_Matrices_L2A.Rs = Rs;
+BLDATA.Initial_Matrices_L2A.Rh = Rh;
+BLDATA.Initial_Matrices_L2A.Ru = Ru;
+BLDATA.Initial_Matrices_L2A.Rr = Rr;
+BLDATA.Initial_Matrices_L2A.Rsa = Rsa;
+
+%--------------------------------------------------------------------------
+% BUILD CURRENT BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of Points in the current configuration
+BLDATA.Current_Points.IJ = IJ;
+BLDATA.Current_Points.PX = PX;
+BLDATA.Current_Points.T8 = T8;
+BLDATA.Current_Points.C7 = C7;
+BLDATA.Current_Points.SC = SC;
+BLDATA.Current_Points.AC = AC;
+BLDATA.Current_Points.GH = GH;
+BLDATA.Current_Points.HU = HU;
+BLDATA.Current_Points.TS = TS;
+BLDATA.Current_Points.AI = AI;
+BLDATA.Current_Points.AA = AA;
+BLDATA.Current_Points.EL = EL;
+BLDATA.Current_Points.EM = EM;
+BLDATA.Current_Points.CP = CP;
+BLDATA.Current_Points.US = US;
+BLDATA.Current_Points.RS = RS;
+BLDATA.Current_Points.SN = SN;
+BLDATA.Current_Points.S1 = S1;
+BLDATA.Current_Points.S2 = S2;
+BLDATA.Current_Points.S3 = S3;
+BLDATA.Current_Points.S4 = S4;
+BLDATA.Current_Points.S5 = S5;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Current_WFBones.Clavicula = [SC, AC];
+BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Current_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Current_WFBones.Radius = [CP, RS];
+
+% Current Rotation Matrices
+BLDATA.Current_Matrices_L2A.Rc = Rc;
+BLDATA.Current_Matrices_L2A.Rs = Rs;
+BLDATA.Current_Matrices_L2A.Rh = Rh;
+BLDATA.Current_Matrices_L2A.Ru = Ru;
+BLDATA.Current_Matrices_L2A.Rr = Rr;
+BLDATA.Current_Matrices_L2A.Rsa = Rsa;
+
+%--------------------------------------------------------------------------
+% BUILD THE GARNER & PANDY SCAPULAR ROTATION MATRIX
+%--------------------------------------------------------------------------
+% Define the Garner & Pandy Scapular Reference frame
+Zaxis = AC - GH; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, AC - TS); Yaxis = Yaxis/norm(Yaxis);
+Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+Rgnp = [Xaxis, Yaxis, Zaxis];
+BLDATA.Original_GnP.Rs = Rgnp;
+BLDATA.Initial_GnP.Rs = Rgnp;
+BLDATA.Current_GnP.Rs = Rgnp;
+
+return
+
+% function for fitting a line to a matrix of points in X (n times 3)
+function [dirVect,meanX,residuals,rmse,R2] = fitLine(X)
+
+% Fits a line to a group of points in X
+% X should be X = [x1 y1 z1]
+% [ ... ]
+% [xn yn zn]
+
+%[coeff,score,~] = princomp(X);
+[coeff,score,~] = pca(X);% new matlab revision
+dirVect = coeff(:,1);
+[Xn,Xm] = size(X);
+meanX = mean(X,1);
+Xfit1 = repmat(meanX,Xn,1) + score(:,1)*coeff(:,1)';
+residuals = X-Xfit1;
+error = diag(pdist2(residuals,zeros(Xn,Xm)));
+sse = sum(error.^2);
+rmse = norm(error)/sqrt(Xn);
+
+for i=1:Xn
+ tot(i) = norm(meanX-X(i,:));
+end
+
+sst = sum(tot.^2);
+
+R2 = 1-(sse/sst); %http://en.wikipedia.org/wiki/Coefficient_of_determination
+return
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_dynamics.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_dynamics.m
new file mode 100755
index 0000000..11c3dc3
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_dynamics.m
@@ -0,0 +1,463 @@
+function DYDATA = SUBJECT_TOOL_build_data_dynamics(REDATA, BLDATA, DYDATAin)
+% Function for initialising the dynamic model & data structure
+%--------------------------------------------------------------------------
+% Syntax :
+% DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA)
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function creates the symbolic equations of motion using Lagrange
+method.
+
+It first defines:
+ - generalized coordinates.
+ - 10 bony landmarks.
+ - mass and moment of inertia data.
+ - rib-cage ellipsoid data.
+
+Then it computes:
+ - the linear acceleration of the centers of mass for
+ humerus, ulna, and radius and writes them in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_acceleration_file.m
+
+ - d2L/ddq2 (named 'MDYN') and dL/dq-d2L/dqddq*dq (named
+ 'RHS') and writes them both, along with 'dq', in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_dynamics_file.m
+
+ - scapulo-thoraic constraints for TS and AI, including
+ 'PHIts', 'PHIai', 'dPHItsdq', 'dPHIaidq' and writes them in
+ /TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m
+
+Then it constructs the DYDATA structure:
+ - gives the numerical values already stored in BLDATA.Original_Points
+ to the aforesaid 10 landmarks and save them in DYDATA.
+ - gives associated numerical values to mass, moment of inertia,
+ rib-cage ellipsoides adn save them in DYDATA.
+ - the associated numerical values of q, dq, and ddq will be defined
+ later on in the force estimation files and will be saved in
+ DYDATA.JEA, DYDATA.dJEAdt, and DYDATA.d2JEAdt2.
+ - defines the data related to the GHJ stability cone and saves them
+ in the DYDATA.
+%}
+%--------------------------------------------------------------------------
+
+% Initialise the output
+DYDATA = DYDATAin;
+
+%--------------------------------------------------------------------------
+% DEFINE THE DYNAMIC VARIABLES
+%--------------------------------------------------------------------------
+% List of Dynamic Variables
+syms xc yc zc dxc dyc dzc real; % Clavicula joint angles and velocities
+syms xs ys zs dxs dys dzs real; % Scapula joint angles and velocities
+syms zh yh zzh dzh dyh dzzh real; % Humerus joint angles and velocities
+syms xu dxu; % Ulna joint angle and velocity
+syms zr dzr; % Radius joint angle and velocity
+
+% joints accelerations
+syms ddxc ddyc ddzc ddxs ddys ddzs ddzh ddyh ddzzh ddxu ddzr real;
+
+% Constrained generalised coordinates
+q = [xc; yc; zc; xs; ys; zs; zh; yh; zzh; xu; zr];
+dq = [dxc; dyc; dzc; dxs; dys; dzs; dzh; dyh; dzzh; dxu; dzr];
+ddq = [ddxc; ddyc; ddzc; ddxs; ddys; ddzs; ddzh; ddyh; ddzzh; ddxu; ddzr];
+
+%--------------------------------------------------------------------------
+% DEFINE THE STATIC PHYSICAL VARIABLES
+%--------------------------------------------------------------------------
+% List of Physical Constants. All these points are in local reference frame
+syms SCx SCy SCz real; % Thorax frame
+syms ACx ACy ACz real; % Clavicula frame
+syms AAx AAy AAz real; % Scapula frame
+syms TSx TSy TSz real; % Scapula frame
+syms AIx AIy AIz real; % Scapula frame
+syms GHx GHy GHz real; % Scapula frame
+syms HUx HUy HUz real; % Humerus frame
+syms CPx CPy CPz real; % Ulna frame
+syms USx USy USz real; % Ulna frame
+syms RSx RSy RSz real; % Radius frame
+
+% Ellipsoid data
+syms OEx OEy OEz real;
+syms Ats Bts Cts real;
+syms Aai Bai Cai real;
+
+% Inertial Data
+syms Icl Ict real;
+syms Isl Ist real;
+syms Ihl Iht real;
+syms Iul Iut real;
+syms Irl Irt real;
+syms Mc Ms Mh M_u Mr g real;
+
+% Inertia Matrices
+Inc = diag([Icl, Ict, Ict]);
+Ins = diag([Isl, Ist, Ist]);
+Inh = diag([Iht, Iht, Ihl]);
+Inu = diag([Iut, Iut, Iul]);
+Inr = diag([Irt, Irt, Irl]);
+
+%--------------------------------------------------------------------------
+% Create the Rotation Matrices (local to inertial)
+%--------------------------------------------------------------------------
+% Clavicula Matrix
+Rcx = [1, 0, 0;
+ 0, cos(xc), -sin(xc);
+ 0, sin(xc), cos(xc)];
+
+Rcy = [cos(yc), 0, -sin(yc);
+ 0, 1, 0;
+ sin(yc), 0, cos(yc)];
+
+Rcz = [cos(zc), -sin(zc), 0;
+ sin(zc), cos(zc), 0;
+ 0, 0, 1];
+
+Rc = Rcz*Rcy'*Rcx;
+
+% Scapula Matrix
+Rsx = [1, 0, 0;
+ 0, cos(xs), -sin(xs);
+ 0, sin(xs), cos(xs)];
+
+Rsy = [cos(ys), 0, -sin(ys);
+ 0, 1, 0;
+ sin(ys), 0, cos(ys)];
+
+Rsz = [cos(zs), -sin(zs), 0;
+ sin(zs), cos(zs), 0;
+ 0, 0, 1];
+
+Rs = Rsz*Rsy'*Rsx;
+
+% Humerus Matrix
+Rhz = [cos(zh), -sin(zh), 0;
+ sin(zh), cos(zh), 0;
+ 0, 0, 1];
+
+Rhy = [cos(yh), 0, -sin(yh);
+ 0, 1, 0;
+ sin(yh), 0, cos(yh)];
+
+Rhzz = [cos(zzh), -sin(zzh), 0;
+ sin(zzh), cos(zzh), 0;
+ 0, 0, 1];
+
+Rh = Rhzz*Rhy'*Rhz;
+
+% Ulna Matrix
+% Ruy = [cos(beta), 0, sin(beta);
+% 0, 1, 0;
+% -sin(beta), 0, cos(beta)]; %beta constant
+
+Rux = [1, 0, 0;
+ 0, cos(xu), -sin(xu);
+ 0, sin(xu), cos(xu)];% ulna to the proximal segment (humerus)
+
+Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+%Ru_u2h = Rux*Ruy; % ulna to the proximal segment (humerus)
+Ru = Rh*Ru_h*Rux; % ulna to the inertial frame (thorax)
+
+% Radiu Matrix
+Rrz = [cos(zr), -sin(zr), 0;
+ sin(zr), cos(zr), 0;
+ 0, 0, 1]; % radius to the proximal segment (ulna)
+
+Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+Rr = Ru*Rr_u*Rrz; % radius to the inertial frame (thorax)
+
+%--------------------------------------------------------------------------
+% Compute the locations of the centres of gravity
+%--------------------------------------------------------------------------
+% Clavicula centre of gravity, midway along the x-axis
+CGc = simplify(expand(Rc*(1/2*[ACx; ACy; ACz]) + [SCx; SCy; SCz]));
+
+% Scapula centre of gravity, 1/3 from AC to AI
+CGs = simplify(expand(Rs*(1/3*[AIx; AIy; AIz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Humerus centre of gravity
+CGh = simplify(expand(Rh*(1/2*[HUx; HUy; HUz]) + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Ulna centre of gravity
+CGu = simplify(expand(Ru*(1/2*[USx; USy; USz]) + Rh*[HUx; HUy; HUz] + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));
+
+% Radius centre of gravity
+CGr = simplify(expand(Rr*(1/2*[RSx; RSy; RSz]) + Rh*[CPx; CPy; CPz] + Rs*[GHx; GHy; GHz] + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz]));%Rh*[HUx; HUy; HUz]
+
+%--------------------------------------------------------------------------
+% Compute the linear velocities of the centres of gravity
+%--------------------------------------------------------------------------
+VCGc = simplify(expand(jacobian(CGc, q)*dq));
+VCGs = simplify(expand(jacobian(CGs, q)*dq));
+VCGh = simplify(expand(jacobian(CGh, q)*dq));
+VCGu = simplify(expand(jacobian(CGu, q)*dq));
+VCGr = simplify(expand(jacobian(CGr, q)*dq));
+%--------------------------------------------------------------------------
+% Compute the angular velocities (in local frame)
+%--------------------------------------------------------------------------
+Wc = Rcx'*Rcy*[0; 0; dzc] + Rcx'*[0; dyc; 0] + [dxc; 0; 0];
+Ws = Rsx'*Rsy*[0; 0; dzs] + Rsx'*[0; dys; 0] + [dxs; 0; 0];
+Wh = Rhz'*Rhy*[0; 0; dzzh] + Rhz'*[0; dyh; 0] + [0; 0; dzh];
+%Wu = Ru_u2h'*Wh + Ruy'*[dxu; 0; 0];
+%Wr = Rr_r2u'*Wu + [0; 0; dzr];
+Wu = Rux'*Ru_h'*Wh + [dxu; 0; 0];
+Wr = Rrz'*Rr_u'*Wu + [0; 0; dzr];
+
+%--------------------------------------------------------------------------
+% Compute the angular velocities (in inertial frame)
+%--------------------------------------------------------------------------
+Wac = Rcz*Rcy'*[dxc; 0; 0] + Rcz*[0; dyc; 0] + [0; 0; dzc];%or simply Rc*Wc
+Was = Rsz*Rsy'*[dxs; 0; 0] + Rsz*[0; dys; 0] + [0; 0; dzs];%or simply Rs*Ws
+Wah = Rhzz*Rhy'*[0; 0; dzh] + Rhzz*[0; dyh; 0] + [0; 0; dzzh];%or simply Rh*Wh
+Wau = Ru*Wu;
+War = Rr*Wr;
+
+%--------------------------------------------------------------------------
+% Linear Accelerations of Humerus, Ulna, and Radius
+%--------------------------------------------------------------------------
+ACGh = jacobian(VCGh, q)*dq + jacobian(VCGh, dq)*ddq;
+ACGu = jacobian(VCGu, q)*dq + jacobian(VCGu, dq)*ddq;
+ACGr = jacobian(VCGr, q)*dq + jacobian(VCGr, dq)*ddq;
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_acceleration_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_acceleration_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'ACGh','ACGu','ACGr'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% Compute the Lagrangian
+%--------------------------------------------------------------------------
+Lag = 0.5*Mc*transpose(VCGc)*VCGc + 0.5*transpose(Wc)*Inc*Wc + ...
+ 0.5*Ms*transpose(VCGs)*VCGs + 0.5*transpose(Ws)*Ins*Ws + ...
+ 0.5*Mh*transpose(VCGh)*VCGh + 0.5*transpose(Wh)*Inh*Wh + ...
+ 0.5*M_u*transpose(VCGu)*VCGu + 0.5*transpose(Wu)*Inu*Wu + ...
+ 0.5*Mr*transpose(VCGr)*VCGr + 0.5*transpose(Wr)*Inr*Wr - ...
+ Mc*g*CGc(3) - Ms*g*CGs(3) - Mh*g*CGh(3) - M_u*g*CGu(3) - Mr*g*CGr(3);
+
+%--------------------------------------------------------------------------
+% Compute the Dynamic (MDYN*ddq=RHS+generalized forces including the constraints)
+%--------------------------------------------------------------------------
+% d2L/ddq2
+MDYN = jacobian(jacobian(Lag, dq), dq);
+
+% dL/dq-d2L/dqddq*dq (right-hand side of the Lagrange equation)
+RHS = transpose(jacobian(Lag, q)) - jacobian(jacobian(Lag, dq), q)*dq;
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_dynamics_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_dynamics_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'dq', 'MDYN', 'RHS'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% Define the Scapulo-Thoracic Gliding Plane Constraints
+%--------------------------------------------------------------------------
+% Constraint Number 1
+TS = Rs*([TSx; TSy; TSz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz];
+PHIts = (TS - [OEx; OEy; OEz])'*diag([1/Ats^2; 1/Bts^2; 1/Cts^2])*(TS - [OEx; OEy; OEz]) - 1;
+
+% Jacobian
+dPHItsdq = jacobian(PHIts, q);
+
+dPHItsdt = dPHItsdq*dq; % for inverse kinematics
+
+ddPHItsdt = jacobian(dPHItsdt, q)*dq + jacobian(dPHItsdt, dq)*ddq; % for inverse kinematics
+
+
+
+% Constraint Number 2
+AI = Rs*([AIx; AIy; AIz]) + Rc*[ACx; ACy; ACz] + [SCx; SCy; SCz];
+PHIai = (AI - [OEx; OEy; OEz])'*diag([1/Aai^2; 1/Bai^2; 1/Cai^2])*(AI - [OEx; OEy; OEz]) - 1;
+
+% Jacobian
+dPHIaidq = jacobian(PHIai, q);
+
+dPHIaidt = dPHIaidq*dq; % for inverse kinematics
+
+ddPHIaidt = jacobian(dPHIaidt, q)*dq + jacobian(dPHIaidt, dq)*ddq; % for inverse kinematics
+
+% Definition of the file name (Differentiate for UNIX & non-UNIX systems)
+CurrentPath = pwd;
+File_name = [];
+if isunix
+ File_name = [CurrentPath, '/TOOLBOX_Force_Estimation/ESTIMATION_TOOL_constraints_file.m'];
+else
+ File_name = [CurrentPath, '\TOOLBOX_Force_Estimation\ESTIMATION_TOOL_constraints_file.m'];
+end
+
+% List of variables to save
+List_of_variables = {'PHIts', 'PHIai', 'dPHItsdq', 'dPHIaidq', 'dPHItsdt', 'dPHIaidt', 'ddPHItsdt', 'ddPHIaidt'};
+
+% Saving algorithm
+fid = fopen(File_name,'wt');
+index_equ = 1;
+for k = 1:length(List_of_variables)
+ Var_name = List_of_variables{k};
+ size_var = size(eval(Var_name));
+ for i = 1:size_var(1)
+ for j = 1:size_var(2)
+ Var_name_ij = strcat(Var_name,'(',num2str(i),',',num2str(j),')');
+ Equation = strcat(Var_name_ij,' = ',char(eval(Var_name_ij)),';');
+ fprintf(fid,'%s \n',Equation);
+ end
+ end
+end
+fclose(fid);
+
+%--------------------------------------------------------------------------
+% CONSTRUCT THE DYDATA STRUCTURE
+%--------------------------------------------------------------------------
+%{
+To define the position of the bony landmarks in their local coordinates
+accroding to the description given in begining of the current function.
+It's just needed to have the data in one configuration. The only one we
+have so far is the original data.
+BLDATA.Original_Points: contains the position of the bony landmarks in
+the inertial frame.
+BLDATA.Original_Matrices_L2A: contains the rotation matrix from local to
+inertial coordinate.
+%}
+DYDATA.SC = BLDATA.Original_Points.SC;
+DYDATA.AC = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Original_Points.AC - BLDATA.Original_Points.SC);
+DYDATA.AA = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AA - BLDATA.Original_Points.AC);
+DYDATA.TS = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.TS - BLDATA.Original_Points.AC);
+DYDATA.AI = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.AI - BLDATA.Original_Points.AC);
+DYDATA.GH = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Original_Points.GH - BLDATA.Original_Points.AC);
+DYDATA.HU = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Original_Points.HU - BLDATA.Original_Points.GH);
+DYDATA.US = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Original_Points.US - BLDATA.Original_Points.HU);
+DYDATA.CP = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Original_Points.CP - BLDATA.Original_Points.GH);
+DYDATA.RS = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Original_Points.RS - BLDATA.Original_Points.CP);
+
+% Ribcage Ellipsoid Data for scapulothoracic constraints
+DYDATA.OE = REDATA.Centre;
+DYDATA.AE = [REDATA.TSaxes, REDATA.AIaxes];
+
+% the mass and moment of inertia for the generic model are from
+% M.D. Klein Breteler et al., Journal of Biomechanics 32 (1999) 1191.
+% The body weight is not mentioned in this paper so I approximated it using
+% the R. Dumas et al., Journal of Biomechanics 40 (2007) 543?553.
+%{
+% Mass Parameters [Kg]
+Mc = 0.156;
+Ms = 0.704;
+Mh = 2.052; % The body weight of our male subject is Mh*100/2.4 (=85.5 Kg) according to R. Dumas
+M_u = 0.9012; % not in the paper by Breteler but close to "A multibody biomechanical model of the upper limb including the shoulder girdle"
+Mr = 0.5523; % not in the paper by Breteler "
+
+
+% Inertia Parameters [Kg M^2]
+Ict = 0.001; Icl = 0.003; % from before, but I do not like them as they are not consistent with the other segments values or the portugease paper
+Ist = 0.007; Isl = 0.007; % the same as above
+Iht = 0.0165; Ihl = 0.0033; % these values are quite different that what it was before.
+Iut = 0.0060; Iul = 9.6437e-04; % defined using the SUBJECT_TOOL_Update_Weight by giving 85.5kg and 1.86 m, and the values are comparable to those of Portugease
+Irt = 0.0037; Irl = 5.9107e-04; % the same as above
+
+DYDATA.MHand = 0;% The Radius mass can also contain a weight carried in the hand.
+DYDATA.LHand = 270e-3;% The inertia will be MHand*LHand^2, the position from CP;
+
+% Gravitational Constant
+g = 9.81;
+
+% ATTENTION!! One needs to apply the parallel axis theorem to be correct.
+%Iht = 1.32 + 0.612 + 0.064;
+% This works, all axes are colinear
+%Ihl = 0.199 + 0.091 + 0.019;
+
+% Inertia Data
+DYDATA.Inertia = [Mc, Ms, Mh, M_u, Mr;
+ Ict, Icl, 0 ,0 ,0;
+ Ist, Isl, 0 ,0 ,0;
+ Iht, Ihl, 0 ,0 ,0;
+ Iut, Iul, 0 ,0 ,0;
+ Irt, Irl, 0 ,0 ,0;
+ g, 0, 0 ,0 ,0];
+%}
+%--------------------------------------------------------------------------
+% GLENOID STABILITY CONE PARAMETERS
+%--------------------------------------------------------------------------
+% Cone Base Dimensions
+Hay = 0.0119;%0.0108;%
+Haz = 0.0156;%0.0142;%
+
+% Set the Cone Dimensions
+DYDATA.ConeDimensions = DYDATA.Height_Scaling_Factor(3,3)*[Hay, Haz];
+
+% Cone Base Center
+% (In Thorax Reference System with respect to the point GH)
+%DYDATA.ConeCentre = DYDATA.Height_Scaling_Factor*[-13.8065; -15.4992; -2.4582]/1000;%[-21.630343; -12.295269; -3.156106]/1000;%
+DYDATA.ConeCentre = (BLDATA.Original_Points.GC - BLDATA.Original_Points.GH)/1000;
+
+
+%GI 5.9:
+%DYDATA.ConeCentre = [-18.1117; -17.3634; -0.5103]/1000;
+
+% GI 2:
+%DYDATA.ConeCentre = [-18.3432; -17.0867; 1.1618]/1000;
+
+% GI 15:
+%DYDATA.ConeCentre = [-17.2585; -17.6842; -4.3810]/1000;
+
+% The Glenohumeral joint center is defined to be to tip of the cone with
+% the X-axis running from the Cone Base center to GH joint center
+GH = [0; 0; 0];
+
+% Compute Reference Frame of Cone Base
+Xaxis = GH - DYDATA.ConeCentre; Xaxis = Xaxis/norm(Xaxis);
+Zaxis = [0; 0; 1]; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, Xaxis); Yaxis = Yaxis/norm(Yaxis);
+Zaxis = cross(Xaxis, Yaxis); Zaxis = Zaxis/norm(Zaxis);
+
+% Construct the Rotation Matrix
+DYDATA.Cone_Rb = [Xaxis, Yaxis, Zaxis]; % local ---> global (from glenoid frame to the frame attached to the GH, g to GH)
+
+% Number of cutting planes representing the cone
+DYDATA.NbConstraints = 40;
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_muscle_wrapping.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_muscle_wrapping.m
new file mode 100755
index 0000000..9328fab
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_muscle_wrapping.m
@@ -0,0 +1,2244 @@
+function MWDATA = SUBJECT_TOOL_build_data_muscle_wrapping(BLDATA,MWDATAin,DYDATA)
+% Function to initialise the muscle wrapping data set
+%--------------------------------------------------------------------------
+% Syntax :
+% MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA)
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This file builds the muscle data structure (MWDATA) for all the muscles.
+MWDATA consists of the below data for each muscle. Here we have 42 muscles.
+
+ origin, insertion, and two types of viapoints (A and B) for each muscle
+ Three different points for each of these 4 points are considered.
+ It's based on the splines idea for the muscle centroid line.
+ The data are assigned using two different
+ functions developed in the end of this script. They are named GetPoints
+ and GetWrap which both read the data already saved in a file named
+ AnatomicLandmarks.dat.
+ ---> MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+ ---> MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+
+ NOTE all the above information are in AMIRA reference frame. They are
+ transformed to MATLAB and more specifically to their associated
+ refrence frames in matlab, using two functions named
+ Rotate_Axis_Into_Matlab_Frame and Rotate_Point_Into_Matlab_Fram.
+ These two are defined in the end of the current script.
+
+ by default, one segment is considered for all the 42 muscles which I
+ guess is large enough. This is set by giving the middle point (1,2) of the
+ above four data to the below, let's say, actual origin, insertion, and
+ via points data. Once the number of segments are changed by the user
+ then these actuals are not anymore the middle points saved in the
+ Anchors and instead they are defined using the spilne. The spline method can
+ be also set and is saved in MWDATA (below in this script).
+ ---> MWDATA{Mident,1}.Origin = cell(1,20);
+ ---> MWDATA{Mident,1}.ViaA = cell(1,20);
+ ---> MWDATA{Mident,1}.ViaB = cell(1,20);
+ ---> MWDATA{Mident,1}.Insertion = cell(1,20);
+
+ in order to rotate the data currectly and also for later on (in force
+ calculation and wrapping) we define the reference frames for all the
+ information associated with the muscle and the obstacles.
+ ---> MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+
+ the obstacle is also defined here for each muscle among the available
+ shapes stated in the Obstacle Set Method of Garner (sphere, single,
+ double, stub). The obstacle axis (z) is also in AMIRA in terms of the
+ axis-angle rotation vector.
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+ ---> MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+%}
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MWDATA = MWDATAin;
+
+% % List of Physical Cross-Sectional Areas (page 197-198 of Garner's thesis)
+% PCSA0 = 1.e-4*[...
+% 4.36; % Subclavius
+% 8.12; % Serratus Anterior Upper
+% 4; % Serratus Anterior Middle
+% 8.41; % Serratus Anterior Lower
+% 6.24; % Trapezius C1 - C6
+% 3.61; % Trapezius C7
+% 3.45; % Trapezius T1
+% 12.4; % Trapezius T2 - T7
+% 3.78; % Levator Scapulae
+% 6.71; % Rhomboid Minor
+% 4.14; % Rhomboid Major T1 - T2
+% 2.48; % Rhomboid Major T3 - T4
+% 4.87; % Pectoralis Minor
+% 10.38; % Pectoralis Major Clavicular
+% 14.68; % Pectoralis Major Sternal
+% 11.14; % Pectoralis Major Ribs
+% 5.26; % Latisimuss Dorsi Thoracic
+% 5.26; % Latisimuss Dorsi Lumbar
+% 3.8; % Latisimuss Dorsi Iliac
+% 8.41; % Deltoid Clavicular
+% 56.38; % Deltoid Acromial
+% 17.19; % Deltoid Scapular
+% 20.84; % Supraspinatus
+% 33.32; % Infraspinatus
+% 35.69; % Subscapularis
+% 6.77; % Teres Minor
+% 15.69; % Teres Major
+% 4.55; % Coracobrachialis
+% 19.07; % Triceps Brachii Long...RECENTLY ADDED
+% 18.78; % Triceps Brachii Medial
+% 38.45; % Triceps Brachii Lateral
+% 13.99; % Biceps Brachii Short
+% 11.91; % Biceps Brachii Long
+% 25.88; % Brachialis
+% 3.08; % Brachioradialis
+% 5.65; % Supinator
+% 17.96; % Pronator Teres
+% 11.16; % Flexor Carpi Radialis
+% 16.99; % Flexor Carpi Ulnaris
+% 8.13; % Extensor Carpi Radialis Long
+% 16.76; % Extensor Carpi Radialis Brevis
+% 8.04]; % Extensor Carpi Ulnaris
+%
+% % Maximum force values
+% Fmax0 = [...
+% 144.02; % Subclavius
+% 268.05; % Serratus Anterior Upper
+% 132.12; % Serratus Anterior Middle
+% 277.51; % Serratus Anterior Lower
+% 205.95; % Trapezius C1 - C6
+% 119.25; % Trapezius C7
+% 114.01; % Trapezius T1
+% 409.23; % Trapezius T2 - T7
+% 124.78; % Levator Scapulae
+% 221.51; % Rhomboid Minor
+% 136.48; % Rhomboid Major T1 - T2
+% 81.93; % Rhomboid Major T3 - T4
+% 160.55; % Pectoralis Minor
+% 342.46; % Pectoralis Major Clavicular
+% 484.35; % Pectoralis Major Sternal
+% 367.78; % Pectoralis Major Ribs
+% 173.43; % Latisimuss Dorsi Thoracic
+% 173.88; % Latisimuss Dorsi Lumbar
+% 125.52; % Latisimuss Dorsi Iliac
+% 277.48; % Deltoid Clavicular
+% 1860.52; % Deltoid Acromial
+% 567.15; % Deltoid Scapular
+% 687.84; % Supraspinatus
+% 1099.61; % Infraspinatus
+% 1177.93; % Subscapularis
+% 223.35; % Teres Minor
+% 514.51; % Teres Major
+% 150.05; % Coracobrachialis
+% 629.21; % Triceps Brachii Long...RECENTLY ADDED
+% 619.67; % Triceps Brachii Medial
+% 1268.87; % Triceps Brachii Lateral
+% 461.76; % Biceps Brachii Short
+% 392.91; % Biceps Brachii Long
+% 853.90; % Brachialis
+% 101.58; % Brachioradialis
+% 186.38; % Supinator
+% 592.80; % Pronator Teres
+% 368.41; % Flexor Carpi Radialis
+% 560.70; % Flexor Carpi Ulnaris
+% 268.42; % Extensor Carpi Radialis Long
+% 553.21; % Extensor Carpi Radialis Brevis
+% 265.27]; % Extensor Carpi Ulnaris
+
+% Run through all the Muscles
+for Mident = 1:42
+
+% MWDATA{Mident,1}.Name = {};
+% MWDATA{Mident,1}.AnchorOrigin = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaA = cell(1,3);
+% MWDATA{Mident,1}.AnchorViaB = cell(1,3);
+% MWDATA{Mident,1}.AnchorInsertion = cell(1,3);
+% MWDATA{Mident,1}.Origin = cell(1,20);
+% MWDATA{Mident,1}.ViaA = cell(1,20);
+% MWDATA{Mident,1}.ViaB = cell(1,20);
+% MWDATA{Mident,1}.Insertion = cell(1,20);
+% MWDATA{Mident,1}.MSCInfo.OriginRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+%
+% % This data is initially common to all
+% MWDATA{Mident,1}.MSCInfo.Visualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.ObjectVisualise = 'off';
+% MWDATA{Mident,1}.MSCInfo.InterpType = '3rd Order';
+% MWDATA{Mident,1}.MSCInfo.NbSegments = 1;
+%
+% % The radii
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiiscale = 1;
+%
+% % There are 12 points on the wrapping surface
+% MWDATA{Mident,1}.MSCInfo.NbPlotPoints = 12;
+%
+% % This parameter is incase the muscle' object radiius requires
+% % modification. This factor is only used in the visualisation of the
+% % muscle's object.
+% MWDATA{Mident,1}.MSCInfo.ObjectRadiicorrection = 1;
+%
+% % This will be defined once the muscle model is completely defined
+% %MWDATA{Mident,1}.OptimalFiberLength = zeros(1,20);[]
+%
+ %----------------------------------------------------------------------
+ % SUBCLAVIUS
+ %----------------------------------------------------------------------
+ if Mident == 1
+
+ % name
+ MWDATA{Mident,1}.Name = {'Subclavius'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subclavius',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subclavius',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; DYDATA.Height_Scaling_Factor(3, 3)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR SUPERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 2
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Superior'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Sup',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Sup',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Sup','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single'; % single cylinder
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+
+ %GetWrap('Wrap_SerratusAnterior_Sup','axis')
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Sup','axis',DYDATA);
+
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Sup','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR MIDDLE PART
+ %----------------------------------------------------------------------
+ elseif Mident == 3
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Middle'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Mid',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Mid',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Mid','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Mid','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Mid','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SERRATUS ANTERIOR INFERIOR PART
+ %----------------------------------------------------------------------
+ elseif Mident == 4
+
+ % name
+ MWDATA{Mident,1}.Name = {'Serratus Anterior Inferior'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_SerratusAnter_Inf',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_SerratusAnter_Inf',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_SerratusAnterior_Inf','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_SerratusAnterior_Inf','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_SerratusAnterior_Inf','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C1 - C6
+ %----------------------------------------------------------------------
+ elseif Mident == 5
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius C1'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius1_desc',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius1_desc',3,DYDATA);
+
+ MWDATA{Mident,1}.AnchorInsertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,1} + [0; -7*DYDATA.Height_Scaling_Factor(3, 3); 0];%right away modification on the insertion points (all the three)
+ MWDATA{Mident,1}.AnchorInsertion{1,2} = MWDATA{Mident,1}.AnchorInsertion{1,2} + [0; -7*DYDATA.Height_Scaling_Factor(3, 3); 0];
+ MWDATA{Mident,1}.AnchorInsertion{1,3} = MWDATA{Mident,1}.AnchorInsertion{1,3} + [0; -7*DYDATA.Height_Scaling_Factor(3, 3); 0];
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius1','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Trapezius1','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius1','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+% MWDATA{Mident,1}.MSCInfo.InsertionRef = 1;
+% MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_Trapezius1','center'),GetWrap('Wrap_Trapezius11','center')];
+% MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+% MWDATA{Mident,1}.MSCInfo.ObjectRef = [0, 1];
+% MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_Trapezius1','axis'), GetWrap('Wrap_Trapezius11','axis')];
+% MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_Trapezius1','radius'), -GetWrap('Wrap_Trapezius11','radius')];
+% MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+% MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+ %MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,1) = MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,1) + [0; 0; 1.5];
+ %MWDATA{Mident,1}.MSCInfo.ObjectZaxis(3,1) = -MWDATA{Mident,1}.MSCInfo.ObjectZaxis(3,1);
+ %MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,1) = MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,1)+[30; 0; 0];
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS C7
+ %----------------------------------------------------------------------
+ elseif Mident == 6
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius C7'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius2_trans1',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius2_trans1',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius2','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius2','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius2','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T1
+ %----------------------------------------------------------------------
+ elseif Mident == 7
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius T1'};
+
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius3_trans2',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius3_trans2',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius3','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius3','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius3','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRAPEZIUS T2 - T7
+ %----------------------------------------------------------------------
+ elseif Mident == 8
+
+ % name
+ MWDATA{Mident,1}.Name = {'Trapezius T2 - T7'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Trapezius4_ascen',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Trapezius4_ascen',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Trapezius4','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Trapezius4','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Trapezius4','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LEVATOR SCAPULAE
+ %----------------------------------------------------------------------
+ elseif Mident == 9
+
+ % name
+ MWDATA{Mident,1}.Name = {'Levator Scapulae'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LevatorScapula',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LevatorScapula',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; DYDATA.Height_Scaling_Factor(3, 3)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 10
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Minor'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMinor',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMinor',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; DYDATA.Height_Scaling_Factor(3, 3)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T1 - T2
+ %----------------------------------------------------------------------
+ elseif Mident == 11
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Major T1 - T2'};
+
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor1',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor1',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_RhomboidMajor1','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_RhomboidMajor1','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_RhomboidMajor1','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % RHOMBOID MAJOR T3 - T4
+ %----------------------------------------------------------------------
+ elseif Mident == 12
+
+ % name
+ MWDATA{Mident,1}.Name = {'Rhomboid Major T3 - T4'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_RhomboidMajor2',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_RhomboidMajor2',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_RhomboidMajor2','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_RhomboidMajor2','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_RhomboidMajor2','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 13
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Minor'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMinor',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMinor',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0; 0; DYDATA.Height_Scaling_Factor(3, 3)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR CLAVICULAR
+ %----------------------------------------------------------------------
+ elseif Mident == 14
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Clavicular'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorC',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorC',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorC','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_PectoralisMajorC','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorC','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR STERNAL
+ %----------------------------------------------------------------------
+ elseif Mident == 15
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Sternal'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT1',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT1',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorT1','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PectoralisMajorT1','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorT1','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % PECTORALIS MAJOR RIBS
+ %----------------------------------------------------------------------
+ elseif Mident == 16
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pectoralis Major Ribs'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PectoralisMajorT2',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PectoralisMajorT2',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PectoralisMajorT2','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 0;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PectoralisMajorT2','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PectoralisMajorT2','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI THORACIC
+ %----------------------------------------------------------------------
+ elseif Mident == 17
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Thoracic'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiT',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiT',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiT1','center',DYDATA),GetWrap('Wrap_LatissimusDorsiT2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_LatissimusDorsiT1','axis',DYDATA),GetWrap('Wrap_LatissimusDorsiT2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiT1','radius',DYDATA),GetWrap('Wrap_LatissimusDorsiT2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI LUMBAR
+ %----------------------------------------------------------------------
+ elseif Mident == 18
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Lumbar'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiL',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiL',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiL1','center',DYDATA),GetWrap('Wrap_LatissimusDorsiL2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_LatissimusDorsiL1','axis',DYDATA),GetWrap('Wrap_LatissimusDorsiL2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiL1','radius',DYDATA),GetWrap('Wrap_LatissimusDorsiL2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % LATISSIMUS DORSI ILLIAC
+ %----------------------------------------------------------------------
+ elseif Mident == 19
+
+ % name
+ MWDATA{Mident,1}.Name = {'Latissimus Dorsi Iliac'};
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_LatissimusDorsiI',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_LatissimusDorsiI',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 0;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_LatissimusDorsiI1','center',DYDATA),GetWrap('Wrap_LatissimusDorsiI2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [0 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_LatissimusDorsiI1','axis',DYDATA),GetWrap('Wrap_LatissimusDorsiI2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_LatissimusDorsiI1','radius',DYDATA),GetWrap('Wrap_LatissimusDorsiI2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID CLAVICULAR (FRONTAL)
+ %----------------------------------------------------------------------
+ elseif Mident == 20
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Clavicular (Ant)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Ant',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Ant',3,DYDATA);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Ant',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 1;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Ant','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Ant','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Deltoid_Ant','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID ACROMIAL (MIDDLE)
+ %----------------------------------------------------------------------
+ elseif Mident == 21
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Acromial (Mid)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Mid',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Mid',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Mid',3,DYDATA);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Mid',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Mid','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Mid','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Deltoid_Mid','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % DELTOID SCAPULAR (POSTERIOR)
+ %----------------------------------------------------------------------
+ elseif Mident == 22
+
+ % name
+ MWDATA{Mident,1}.Name = {'Deltoid Scapular (Post)'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Deltoid_Post',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Deltoid_Post',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Deltoid_Post',3,DYDATA);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Deltoid_Post',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Deltoid_Post','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Deltoid_Post','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Deltoid_Post','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SUPRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 23
+
+ % name
+ MWDATA{Mident,1}.Name = {'Supraspinatus'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Supraspinatus',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Supraspinatus',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ %MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Supraspinatus',3);
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Supraspinatus',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = []; %it was initially 3
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Supraspinatus','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Supraspinatus','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Supraspinatus','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % INFRASPINATUS
+ %----------------------------------------------------------------------
+ elseif Mident == 24
+
+ % name
+ MWDATA{Mident,1}.Name = {'Infraspinatus'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Infraspinatus',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Infraspinatus',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Infraspinatus',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Infraspinatus','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_Infraspinatus','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Infraspinatus','radius',DYDATA);
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % SUBSCAPULARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 25
+
+ % name
+ MWDATA{Mident,1}.Name = {'Subscapularis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Subscapularis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Subscapularis',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Subscapularis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Subscapularis','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Subscapularis','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Subscapularis','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TERES MINOR
+ %----------------------------------------------------------------------
+ elseif Mident == 26
+
+ % name
+ MWDATA{Mident,1}.Name = {'Teres Minor'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMinor',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_TeresMinor',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMinor',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TeresMinor','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'stub';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_TeresMinor','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TeresMinor','radius',DYDATA);
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TERES MAJOR
+ %----------------------------------------------------------------------
+ elseif Mident == 27
+
+ % name
+ MWDATA{Mident,1}.Name = {'Teres Major'};
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TeresMajor',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TeresMajor',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TeresMajor','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = GetWrap('Wrap_TeresMajor','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TeresMajor','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % CORACOBRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 28
+
+ % name
+ MWDATA{Mident,1}.Name = {'Coracobrachialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Coracobrachialis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_Coracobrachialis',3,DYDATA);
+
+ % Insertion Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Coracobrachialis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'none';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [0;0;1];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [];
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 29
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiLong',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiLong',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_TricepsBrachiiLong1','center',DYDATA),GetWrap('Wrap_TricepsBrachiiLong2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3 , 3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_TricepsBrachiiLong1','axis',DYDATA),GetWrap('Wrap_TricepsBrachiiLong2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_TricepsBrachiiLong1','radius',DYDATA),GetWrap('Wrap_TricepsBrachiiLong2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII MEDIAL
+ %----------------------------------------------------------------------
+ elseif Mident == 30
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Medial'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiMedial',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiMedial',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TricepsBrachiiMedial','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_TricepsBrachiiMedial','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TricepsBrachiiMedial','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % TRICEPS BRACHII LATERAL
+ %----------------------------------------------------------------------
+ elseif Mident == 31
+
+ % name
+ MWDATA{Mident,1}.Name = {'Triceps Brachii Lateral'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_TricepsBrachiiLateral',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_TricepsBrachiiLateral',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_TricepsBrachiiLateral',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_TricepsBrachiiLateral','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_TricepsBrachiiLateral','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_TricepsBrachiiLateral','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BICEPS SHORT
+ %----------------------------------------------------------------------
+ elseif Mident == 32
+
+ % name
+ MWDATA{Mident,1}.Name = {'Biceps Short'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_BicepsShort',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_BicepsShort',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_BicepsShort1','center',DYDATA),GetWrap('Wrap_BicepsShort2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [-GetWrap('Wrap_BicepsShort1','axis',DYDATA),-GetWrap('Wrap_BicepsShort2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_BicepsShort1','radius',DYDATA),GetWrap('Wrap_BicepsShort2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BICEPS LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 33
+
+ % name
+ MWDATA{Mident,1}.Name = {'Biceps Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_BicepsLong',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_BicepsLong',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 2;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = [GetWrap('Wrap_BicepsLong1','center',DYDATA),GetWrap('Wrap_BicepsLong2','center',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'double';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = [3,3];
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = [GetWrap('Wrap_BicepsLong1','axis',DYDATA),GetWrap('Wrap_BicepsLong2','axis',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = [GetWrap('Wrap_BicepsLong1','radius',DYDATA),GetWrap('Wrap_BicepsLong2','radius',DYDATA)];
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BRACHIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 34
+
+ % name
+ MWDATA{Mident,1}.Name = {'Brachialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Brachialis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Brachialis',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Brachialis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Brachialis','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Brachialis','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Brachialis','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % BRACHIORADIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 35
+
+ % name
+ MWDATA{Mident,1}.Name = {'Brachioradialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Brachioradialis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_Brachioradialis',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Brachioradialis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Brachioradialis','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Brachioradialis','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Brachioradialis','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % SUPINATOR
+ %----------------------------------------------------------------------
+ elseif Mident == 36
+
+ % name
+ MWDATA{Mident,1}.Name = {'Supinator'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_Supinator',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_Supinator',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 4;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_Supinator','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_Supinator','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_Supinator','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % PRONATOR TERES
+ %----------------------------------------------------------------------
+ elseif Mident == 37
+
+ % name
+ MWDATA{Mident,1}.Name = {'Pronator Teres'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_PronatorTeres',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_PronatorTeres',3,DYDATA);
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_PronatorTeres',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_PronatorTeres','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_PronatorTeres','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_PronatorTeres','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 3;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % FLEXOR CARPI RADIALIS
+ %----------------------------------------------------------------------
+ elseif Mident == 38
+
+ % name
+ MWDATA{Mident,1}.Name = {'Flexor Carpi Radialis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_FlexorCarpiRadialis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ %MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_FlexorCarpiRadialis',3,DYDATA);
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_FlexorCarpiRadialis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_FlexorCarpiRadialis','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_FlexorCarpiRadialis','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_FlexorCarpiRadialis','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % FLEXOR CARPI ULNARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 39
+
+ % name
+ MWDATA{Mident,1}.Name = {'Flexor Carpi Ulnaris'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_FlexorCarpiUlnaris',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_FlexorCarpiUlnaris',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_FlexorCarpiUlnaris','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 3;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_FlexorCarpiUlnaris','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_FlexorCarpiUlnaris','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = [];
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI RADIALIS LONG
+ %----------------------------------------------------------------------
+ elseif Mident == 40
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Radialis Long'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorRadialisLong',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaA = GetPoints('V_A_ExtensorRadialisLong',3,DYDATA);
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorRadialisLong',3,DYDATA);
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorRadialisLong',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorRadialisLong','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorRadialisLong','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorRadialisLong','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = 4;
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 5;
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI RADIALIS BREVIS
+ %----------------------------------------------------------------------
+ elseif Mident == 41
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Radialis Brevis'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorRadialisBrevis',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorRadialisBrevis',3, DYDATA);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorRadialisBrevis',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorRadialisBrevis','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorRadialisBrevis','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorRadialisBrevis','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 5;
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ %----------------------------------------------------------------------
+ % EXTENSOR CARPI ULNARIS
+ %----------------------------------------------------------------------
+ elseif Mident == 42
+
+ % name
+ MWDATA{Mident,1}.Name = {'Extensor Carpi Ulnaris'};
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorOrigin = GetPoints('O_ExtensorUlnaris',3,DYDATA);
+
+ % Via Points A Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorViaA{1,1} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,2} = [];
+ MWDATA{Mident,1}.AnchorViaA{1,3} = [];
+
+ % Via Points B Anchor Points for the Segment Interpolations
+% MWDATA{Mident,1}.AnchorViaB{1,1} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,2} = [];
+% MWDATA{Mident,1}.AnchorViaB{1,3} = [];
+ MWDATA{Mident,1}.AnchorViaB = GetPoints('V_B_ExtensorUlnaris',3, DYDATA);
+
+ % Origin Anchor Points for the Segment Interpolations
+ MWDATA{Mident,1}.AnchorInsertion = GetPoints('I_ExtensorUlnaris',3,DYDATA);
+
+ % This part of the data structure contains the muscle wrapping
+ % information.
+ MWDATA{Mident,1}.MSCInfo.OriginRef = 3;
+ MWDATA{Mident,1}.MSCInfo.InsertionRef = 5;
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre = GetWrap('Wrap_ExtensorUlnaris','center',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectType = 'single';
+ MWDATA{Mident,1}.MSCInfo.ObjectRef = 4;
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis = -GetWrap('Wrap_ExtensorUlnaris','axis',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ObjectRadii = GetWrap('Wrap_ExtensorUlnaris','radius',DYDATA);
+ MWDATA{Mident,1}.MSCInfo.ViaARef = [];
+ MWDATA{Mident,1}.MSCInfo.ViaBRef = 4;
+
+% % Phyiscal Cross-Sectional Area
+% MWDATA{Mident,1}.MSCInfo.PCSA = PCSA0(Mident, 1);
+%
+% % Maximum Muscle Force
+% MWDATA{Mident,1}.MSCInfo.Fmax = Fmax0(Mident, 1);
+
+ % Save original wraping object radius for sensitivity study
+ MWDATA{Mident,1}.MSCInfo.ObjectRadiiOrg = MWDATA{Mident,1}.MSCInfo.ObjectRadii;
+ end
+
+%--------------------------------------------------------------------------
+% ROTATE ALL POINTS INTO MATLAB FRAME
+%--------------------------------------------------------------------------
+ % All the anchor points must be rotated into their associated frames.
+
+ for i = 1:3
+ % Rotate the Origin points
+ MWDATA{Mident,1}.AnchorOrigin{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorOrigin{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.OriginRef);
+
+ % Rotate the insertion points
+ MWDATA{Mident,1}.AnchorInsertion{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorInsertion{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.InsertionRef);
+
+ % If they exist, rotate the via points A
+ if isempty(MWDATA{Mident,1}.AnchorViaA{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaA{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaA{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaARef);
+ else
+ end
+
+ % If they exist, rotate the via points B
+ if isempty(MWDATA{Mident,1}.AnchorViaB{1,1}) == 0
+ MWDATA{Mident,1}.AnchorViaB{1,i} =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.AnchorViaB{1,i}, BLDATA, MWDATA{Mident,1}.MSCInfo.ViaBRef);
+ else
+ end
+ end
+
+ % The strucutre initially uses a single segment. There is
+ % a predefined space for up to 20 segments.
+ MWDATA{Mident,1}.Insertion{1,1} = MWDATA{Mident,1}.AnchorInsertion{1,2};
+ MWDATA{Mident,1}.ViaA{1,1} = MWDATA{Mident,1}.AnchorViaA{1,2};
+ MWDATA{Mident,1}.ViaB{1,1} = MWDATA{Mident,1}.AnchorViaB{1,2};
+ MWDATA{Mident,1}.Origin{1,1} = MWDATA{Mident,1}.AnchorOrigin{1,2};
+
+%--------------------------------------------------------------------------
+% ROTATE THE WRAPPING OBJECT
+%--------------------------------------------------------------------------
+ % The muscle has wrapping and the object must be rotated into
+ % the correct local bone frame.
+ if isempty(MWDATA{Mident,1}.MSCInfo.ObjectCentre) == 0
+ % rotate object centre
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)%we use the idx for the case of double cylinder when we have to objects with obviously two different centers
+ MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx) =...
+ Rotate_Point_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectCentre(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ % rotate object axis
+ for idx = 1:size(MWDATA{Mident,1}.MSCInfo.ObjectRef,2)
+ MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx) =...
+ Rotate_Axis_Into_Matlab_Frame(MWDATA{Mident,1}.MSCInfo.ObjectZaxis(:,idx), BLDATA, MWDATA{Mident,1}.MSCInfo.ObjectRef(1,idx));
+ end
+ else
+ % The muscle has no wrapping
+ end
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% END OF PRIMARY SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
+
+% All the points in AnatomicLandmarks are given in the AMIRA frame.
+% All points must be transformed into their associated MATLAB reference frames in the intial configuration.
+function P = Rotate_Point_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ);
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.SC);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*(Q - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.AA);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*(Q + BLDATA.offset_Amira - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.GH);
+elseif frameId == 4
+ P = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Amira_to_MATLAB.Rt*(Q + BLDATA.offset_Amira - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.HU);
+elseif frameId == 5
+ P = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Amira_to_MATLAB.Rt*(Q + BLDATA.offset_Amira - BLDATA.Amira_to_MATLAB.IJ) - BLDATA.Original_Points.CP);
+else
+ % The wrong frame was provided
+end
+return;
+
+function P = Rotate_Axis_Into_Matlab_Frame(Q, BLDATA, frameId)
+
+% Initialise the output
+P = [];
+
+% Transform points. The original data is used because once the location in
+% the local frame is defined, it remains independently of the current
+% configuration. (Rigid Body Hypothesis)
+if frameId == 0
+ P = BLDATA.Amira_to_MATLAB.Rt*Q;
+elseif frameId == 1
+ P = BLDATA.Original_Matrices_L2A.Rc'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 2
+ P = BLDATA.Original_Matrices_L2A.Rs'*(BLDATA.Amira_to_MATLAB.Rt*Q);
+elseif frameId == 3
+ P = BLDATA.Original_Matrices_L2A.Rh'*(BLDATA.Amira_to_MATLAB.Rt*(Q));
+elseif frameId == 4
+ P = BLDATA.Original_Matrices_L2A.Ru'*(BLDATA.Amira_to_MATLAB.Rt*(Q));
+elseif frameId == 5
+ P = BLDATA.Original_Matrices_L2A.Rr'*(BLDATA.Amira_to_MATLAB.Rt*(Q));
+
+else
+ % The wrong frame was provided
+end
+return;
+
+function points = GetPoints(setname, npoints, DYDATA)
+%
+% search landmark set in specified file called setname and return the first
+% npoints stored linewise.
+%
+
+% scaling factor to scale the landmarks according to the body height
+Height_Scaling_Factor = DYDATA.Height_Scaling_Factor;
+
+% open file
+fileID = fopen('MuscleLandmarks_Male01.dat');
+
+if fileID==-1
+ error(' !!! INITIALISATION:GetPoints:Error: Cannot open specified input file...aborting...')
+end
+
+line = fgetl(fileID);
+points=cell(1,npoints);
+stringfound=0;
+while ischar(line)
+ if strcmp(line,setname)
+ stringfound=1;
+ for i=npoints:-1:1 %:npoints
+ line=fgetl(fileID);
+ % remove white spaces
+ line = line(~isspace(line));
+ % split line
+ line = strsplit(line,',');
+ % convert to double
+ line = str2double(line);
+ % save point
+ points{i}= Height_Scaling_Factor*line'; % scale the points
+ end
+ % exit loop
+ line = [];
+ else
+ line = fgetl(fileID);
+ end
+end
+
+if stringfound==0
+ error(' !!! INITIALISATION:GetPoints:Error: Point set %s not found in input file...aborting...',setname);
+end
+fclose(fileID);
+return;
+
+
+function info = GetWrap(setname,type, DYDATA)
+%
+% search wrapping information in specified file called setname and return
+% center of wrapping object or axis or radius defined by type
+%
+
+% scaling factor to scale the landmarks according to the body height
+Height_Scaling_Factor = DYDATA.Height_Scaling_Factor;
+
+% open file
+fileID = fopen('MuscleLandmarks_Male01.dat');
+
+if fileID==-1
+ error(' !!! INITIALISATION:GetWrap:Error: Can not open specified input file...aborting...')
+end
+
+line = fgetl(fileID);
+stringfound=0;
+while ischar(line)
+ if strcmp(line,setname)
+ stringfound=1;
+ if strcmp(type,'center')
+ % get first line
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double
+ info = Height_Scaling_Factor*(str2double(line))'; % scale the center of the wraping obstacle
+ %info = [1 0 0; 0 1 0; 0 0 Height_Scaling_Factor(3, 3)]*(str2double(line))'; % scale the center of the wraping obstacle
+ %info = (str2double(line))';
+ elseif strcmp(type,'axis')
+ % get second line
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double => axis given as axis-angle rotation vector for
+ % unit vector in z
+ line = str2double(line);
+ % convert rotation angle from radians to degrees
+ line(4) = line(4)*pi/180;
+ % compute rotation matrix
+ rotmat = vrrotvec2mat(line);
+ % get cylinder axis => initial axis is y-axis
+ %info = Height_Scaling_Factor*rotmat*[0;1;0]; % scale the axis
+ info = rotmat*[0;1;0];
+ elseif strcmp(type,'radius')
+ % get third line
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ line=fgetl(fileID);
+ % split line
+ line = strsplit(line,' ');
+ % convert to double
+ line = str2double(line);
+ info = Height_Scaling_Factor(3,3)*line(1); % scale the radius
+
+ end
+ % exit loop
+ line = [];
+ else
+ line = fgetl(fileID);
+ end
+end
+
+if stringfound==0
+ error(' !!! INITIALISATION:GetPoints:Error: Point set %s not found in input file...aborting...',setname);
+end
+fclose(fileID);
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_ribcage_ellipsoid.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_ribcage_ellipsoid.m
new file mode 100755
index 0000000..fcadeb7
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_build_data_ribcage_ellipsoid.m
@@ -0,0 +1,120 @@
+function REDATA = SUBJECT_TOOL_build_data_ribcage_ellipsoid(BLDATA, DYDATA)
+% Function to initialise the ribcage ellipsoid dataset
+%{
+--------------------------------------------------------------------------
+Syntax:
+REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA)
+--------------------------------------------------------------------------
+
+
+File Description:
+This file generates the ellipsoid ribcage date without optimisation. The
+values are by default from an optimisation that "seems" to work.
+
+Data Structure Format :
+ REDATA.Centre center of the ellipsoid (same for all)
+ REDATA.Axes semi-principal axes of the base ellip.
+ REDATA.TSscale the SF for the ellipsoid includes TS
+ REDATA.AIscale the SF for the ellipsoid includes AI
+ REDATA.TSaxes when we add REDATA.TSscale to REDATA.Axes
+ REDATA.AIaxes when we add REDATA.AIscale to REDATA.Axes
+--------------------------------------------------------------------------
+%}
+% Initialiase the Output
+REDATA = [];
+
+%--------------------------------------------------------------------------
+% Initial Data
+%--------------------------------------------------------------------------
+% Create the initial data (this data was obtained from an initial
+% optimisation trial)
+REDATA.Centre = DYDATA.Height_Scaling_Factor*[ 34.0603; -10.2252; -60.6326];% these data are in the MATLAB coordinate system.
+REDATA.Axes = DYDATA.Height_Scaling_Factor*[106.3947; 111.4764; 152.0050];%the lenghts of the semi-principal axes of the base ellipsoid
+
+% Position of TS & AI in thorax reference system
+TS = BLDATA.Initial_Points.TS;
+AI = BLDATA.Initial_Points.AI;
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% GET THE SCALING FACTOR FOR THE UPPER MEDIAL BORDER POINT TS
+% The Scaling Factor (sf) is the only positive real root of a sixth order
+% polyomial. The polynomial is obtained from the ellipsoid equation. In
+% other word, by some magic we already have the base ellipsoid. Therefore, in
+% order to simplify the problem by using double ellipsoid we need to dilate
+% the base ellipsoid in a way that it includes the points AI and TS, ie
+% these two should satisfy the dilated ellipsoid equations. [Ex Ey Ez]' is
+% the center of the ellipsoids which should be written as [Xo Yo Z0]' as line 57.
+%
+% (TSx - Ex)^2 (TSy - Ey)^2 (TSz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+TSx = TS(1); TSy = TS(2); TSz = TS(3);
+A = REDATA.Axes(1); B = REDATA.Axes(2); C = REDATA.Axes(3);
+Xo = REDATA.Centre(1); Yo = REDATA.Centre(2); Zo = REDATA.Centre(3);
+
+% The polynomial coefficients are derived using MATLAB symbolic toolbox.
+% DO NOT TOUCH THIS PART OF THE CODE!!!
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((TSx - Xo)^2 + (TSy - Yo)^2 + (TSz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(TSx - Xo)^2*(C + B) + 2*(TSy - Yo)^2*(A+C) + 2*(TSz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((TSx - Xo)^2*(B^2 + C^2 + 4*C*B) + (TSy - Yo)^2*(C^2 + 4*A*C + A^2) + (TSz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(TSx - Xo)^2*(B^2*C + C^2*B) + 2*(TSy - Yo)^2*(A^2*C + C^2*A) + 2*(TSz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (TSx - Xo)^2*C^2*B^2 + (TSy - Yo)^2*A^2*C^2 + (TSz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+TS_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only. It is more robust to search for values
+% with small imaginary parts. MATLAB has a tendency to give real values
+% imaginary parts with 0.
+idx = find(abs(imag(TS_Scale_Roots)) < 1.e-6);
+idxx = find(real(TS_Scale_Roots(idx)) > 0); % Get the positive root
+
+% Save The Data
+REDATA.TSscale = TS_Scale_Roots(idx(idxx),1);
+REDATA.TSaxes = [A; B; C] + REDATA.TSscale*ones(3,1);
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% GET THE SCALING FACTOR FOR THE LOWER MEDIAL BORDER POINT AI
+% The scaling factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (AIx - Ex)^2 (AIy - Ey)^2 (AIz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+AIx = AI(1); AIy = AI(2); AIz = AI(3);
+
+% The polynomial coefficients are derived using MATLAB symbolic toolbox.
+% DO NOT TOUCH THIS PART OF THE CODE!!!
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((AIx - Xo)^2 + (AIy - Yo)^2 + (AIz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(AIx - Xo)^2*(C + B) + 2*(AIy - Yo)^2*(A+C) + 2*(AIz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((AIx - Xo)^2*(B^2 + C^2 + 4*C*B) + (AIy - Yo)^2*(C^2 + 4*A*C + A^2) + (AIz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(AIx - Xo)^2*(B^2*C + C^2*B) + 2*(AIy - Yo)^2*(A^2*C + C^2*A) + 2*(AIz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (AIx - Xo)^2*C^2*B^2 + (AIy - Yo)^2*A^2*C^2 + (AIz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+AI_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only. It is more robust to search for values
+% with small imaginary parts. MATLAB has a tendency to give real values
+% imaginary parts with 0.
+idx = find(abs(imag(AI_Scale_Roots)) < 1.e-6);
+idxx = find(real(AI_Scale_Roots(idx)) > 0); % Get the positive root
+
+% Save The Data
+REDATA.AIscale = AI_Scale_Roots(idx(idxx),1);
+REDATA.AIaxes = [A; B; C] + REDATA.AIscale*ones(3,1);
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_main_file.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_main_file.m
new file mode 100755
index 0000000..46a0e5e
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_main_file.m
@@ -0,0 +1,937 @@
+%{
+--------------------------------------------------------------------------
+ GUI FOR RUNNING THE SUBJECT SPECIFIC TOOL
+--------------------------------------------------------------------------
+File Description :
+This file creates the GUI for running the subject specific tools.
+--------------------------------------------------------------------------
+File Structure :
+The GUI figure is created in SHandle. The pushbuttons are defined next,
+followed by the initialisation script. All the GUI control structures are
+contained in SGUIHandle. The axis is called SubjectVisualisationAxes.
+All the graphics are contained in a single strucure : SPlotHandles.
+
+--------------------------------------------------------------------------
+%}
+
+%--------------------------------------------------------------------------
+% CREATE THE MAIN FIGURE OF THE GUI
+%--------------------------------------------------------------------------
+SHandle = figure(...
+ 'color', 'white',...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.1, 0.4, 0.8],...
+ 'toolbar', 'figure',...
+ 'name', 'EPFL - LBO SHOULDER MODEL: SUBJECT SPECIFIC TOOLBOX');
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE PUSHBUTTONS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Push Button for Closing the GUI
+SGUIHandle.Close_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.95, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- CLOSE TOOL -------------------------------------</b><br><p style="font-size: 90%;"> <i> Closes the subject specific tool and returns to main GUI</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Close Subject Tool'));
+
+% Push Button for opening the ellipsoid toolbox
+SGUIHandle.Ellipsoid_Tool_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.43, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- SCALE RIBCAGE ELLIPSOID -------------------</b><br><p style="font-size: 90%;"> <i> Dilate homogeneously the two ribcage ellispsoids associated to TS and AI</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Update Ellipsoid'));
+
+% Push Button for resetting the values enteretd by the user to the generic
+% model
+SGUIHandle.Reset_Button = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.3, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- RESET TO GENERIC MODEL -------------------</b><br><p style="font-size: 90%;"> <i>Resets the anthropometry data entered to those of the generic model</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('RESET TO GENERIC MODEL'));
+
+% Push Button for visualization of the scaled data
+SGUIHandle.Visulization = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.38, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- VISULIZE THE SCALED DATA ---------------</b><br><p style="font-size: 90%;"> <i>Visulizes the scaled data together with the generic model</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('VISUALIZATION'));
+
+
+% Push Button for updating everything based on the gender, BW, and BH
+SGUIHandle.Update = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.48, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- SCALE USING GENDER, BW, BH ------------</b><br><p style="font-size: 90%;"> <i>Scales the model based on the patient specific data provided above</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Update Subject Weight'));
+
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE ANTHROMETRY INERATIVE MENU
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+
+% Popup menu for choosing the subject gender
+% Gender title
+SGUIHandle.Gender_Selection.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.92, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Gender',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Gender Selection Popup
+SGUIHandle.Gender_Selection.Gender = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.78, 0.92, 0.2, 0.02],...
+ 'style', 'popupmenu',...
+ 'string', {'select gender','Male','Female'},...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');%,...
+ %'callback',SUBJECT_TOOL_script_generator('Update Subject Weight'));
+
+% Weight Title
+SGUIHandle.Weight_Selection.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.88, 0.15, 0.02],...
+ 'style', 'text',...
+ 'string', 'Subject weight [Kg]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Weight Value
+SGUIHandle.Weight_Selection.Weight = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.87, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '85.5',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');%,...
+ %'callback', SUBJECT_TOOL_script_generator('Update Subject Weight'));
+
+% Height Title
+SGUIHandle.Height_Selection.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.83, 0.14, 0.02],...
+ 'style', 'text',...
+ 'string', 'Subject height [m]',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Height Value
+SGUIHandle.Height_Selection.Height = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.82, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '1.86',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');%,...
+ %'callback', SUBJECT_TOOL_script_generator('Update Subject Weight'));
+
+% PCSA Title
+SGUIHandle.PCSA_Selection.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.78, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Muscle name PCSA [cm^2]',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% PCSA Muscle Name
+SGUIHandle.PCSA_Selection.MuscleName = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.75, 0.2, 0.02],...
+ 'style', 'popupmenu',...
+ 'string', {'select muscle','Subclavius','Serratus Anterior Upper','Serratus Anterior Middle','Serratus Anterior Lower','Trapezius C1 - C6',...
+ 'Trapezius C7','Trapezius T1','Trapezius T2 - T7','Levator Scapulae','Rhomboid Minor','Rhomboid Major T1 - T2',...
+ 'Rhomboid Major T3 - T4','Pectoralis Minor','Pectoralis Major Clavicular','Pectoralis Major Sternal',...
+ 'Pectoralis Major Ribs','Latisimuss Dorsi Thoracic','Latisimuss Dorsi Lumbar','Latisimuss Dorsi Iliac',...
+ 'Deltoid Clavicular','Deltoid Acromial','Deltoid Scapular','Supraspinatus','Infraspinatus','Subscapularis',...
+ 'Teres Minor','Teres Major','Coracobrachialis','Triceps Brachii Long','Triceps Brachii Media','Triceps Brachii Latera',...
+ 'Biceps Brachii Short','Biceps Brachii Long','Brachialis','Brachioradialis','Supinator','Pronator Teres',...
+ 'Flexor Carpi Radialis','Flexor Carpi Ulnaris','Extensor Carpi Radialis Long','Extensor Carpi Radialis Brevis',...
+ 'Extensor Carpi Ulnaris'},...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback',SUBJECT_TOOL_script_generator('Show PCSA From List'));
+
+% PCSA Value/Update PCSA Value
+SGUIHandle.PCSA_Selection.PCSA = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.92, 0.74, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Update Muscle PCSA'));
+
+% Glenoid Orientation Title
+SGUIHandle.Glenoid_Orientations.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.69, 0.3, 0.03],...
+ 'style', 'text',...
+ 'string', 'Glenoid Orientations',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Glenoid Orientation Popupmenue
+SGUIHandle.Glenoid_Orientations.Popupmenu = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.67, 0.17, 0.02],...
+ 'style', 'popupmenu',...
+ 'string', {'select', 'version [deg]', 'inclination [deg]', 'implant/HH radius [mm]', 'fossa center [mm]'},...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback',SUBJECT_TOOL_script_generator('Show Glenoid Orientation'));
+
+% Glenoid Orientation Value/Update
+SGUIHandle.Glenoid_Orientations.Value = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.88, 0.66, 0.11, 0.04],...
+ 'style', 'edit',...
+ 'string', '',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Update Glenoid Orientation'));
+
+% Load Measured Kinematics Title
+SGUIHandle.Measured_Kinematics.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.62, 0.3, 0.03],...
+ 'style', 'text',...
+ 'string', 'Load Measured Kinematics',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Load Measured Kinematics Text
+SGUIHandle.Measured_Kinematics.Text = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.61, 0.25, 0.02],...
+ 'style', 'Edit',...
+ 'HorizontalAlignment', 'left',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 10,...
+ 'fontweight', 'normal',...
+ 'callback', SUBJECT_TOOL_script_generator('Load Measured Kinematics'));
+
+% Load Measured Kinematics Pushbottom
+SGUIHandle.Measured_Kinematics.Pushbutton = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.96, 0.61, 0.03, 0.02],...
+ 'style', 'PushButton',...
+ 'String','...',...
+ 'HorizontalAlignment', 'center',...
+ 'backgroundcolor', [0.6 0.6 0.6],...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('Load Measured Kinematics'));
+
+% Scale based on Measured Kinematics data (Pushbutton)
+% SGUIHandle.Visulization = uicontrol(...
+% 'units', 'normalized',...
+% 'position', [0.7, 0.55, 0.3, 0.05],...
+% 'style', 'pushbutton',...
+% 'string', '<html> <b>- SCALE USING MEASURED KINEMATICS-----</b><br><p style="font-size: 90%;"> <i>Scale using kienamtics data uploaded by user. It overwites scaling based on subject height.</i></p>',...
+% 'fontsize', 14,...
+% 'fontweight', 'bold',...
+% 'callback', SUBJECT_TOOL_script_generator('SCALING OVERWRITE'));
+
+% Scale based on Measured Kinematics data (Pushbutton)
+SGUIHandle.Kinematic_scaling = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.55, 0.3, 0.05],...
+ 'style', 'pushbutton',...
+ 'string', '<html> <b>- SCALE MEASURED KINEMATICS-----</b><br><p style="font-size: 90%;"> <i>Scale measured kienamtics data recorded on the generic subject.</i></p>',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', SUBJECT_TOOL_script_generator('SCALE KINEMATICS'));
+
+
+
+
+%{
+%--------------------------------------------------------------------------
+% RIBCAGE Y LIMIT POINTS
+%--------------------------------------------------------------------------
+% Ymin Title
+SGUIHandle.RibCage_Selection.YminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.75, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Ymin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Minimum Value
+SGUIHandle.RibCage_Selection.Ymin = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.77, 0.74, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-120',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+% Ymax Title
+SGUIHandle.RibCage_Selection.YmaxText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.82, 0.75, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Ymax',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Maximum Value
+SGUIHandle.RibCage_Selection.Ymax = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.89, 0.74, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-60',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+%--------------------------------------------------------------------------
+% RIBCAGE Z LIMIT POINTS
+%--------------------------------------------------------------------------
+% Zmin Title
+SGUIHandle.RibCage_Selection.ZminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.71, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Zmin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Minimum Value
+SGUIHandle.RibCage_Selection.Zmin = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.77, 0.7, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+% Zmax Title
+SGUIHandle.RibCage_Selection.ZminText = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.82, 0.71, 0.07, 0.02],...
+ 'style', 'text',...
+ 'string', 'Zmin',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Maximum Value
+SGUIHandle.RibCage_Selection.Zmax = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.89, 0.7, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Update Ribcage Points'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE OPTIMISATION PARAMETERS
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.Title = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.5, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Optimisation Parameters',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 14,...
+ 'fontweight', 'bold');
+
+% Subtitle
+SGUIHandle.Optimisation_Parameters.Subtitle = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.48, 0.2, 0.02],...
+ 'style', 'text',...
+ 'string', 'Lb Xo Ub',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE X COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.CentreXt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.44, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.CentreXLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.CentreXov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '0',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.CentreXUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.44, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE Y COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.CentreYt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.4, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre Y',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.CentreYLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.CentreYov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-50',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.CentreYUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.4, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+
+%--------------------------------------------------------------------------
+% ELLIPSOID CENTRE Z COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.CentreZt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.36, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Centre Z',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.CentreZLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.CentreZov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '-200',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.CentreZUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.36, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS X COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.AxisXt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.32, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.AxisXLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.AxisXov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '200',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.AxisXUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.32, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS Y COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.AxisYt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.28, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis X',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.AxisYLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.AxisYov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '100',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.AxisYUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.28, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+% ELLIPSOID HALF-AXIS Z COORDINATE
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Parameters.AxisZt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.24, 0.1, 0.02],...
+ 'style', 'text',...
+ 'string', 'Axis Z',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Lower Bound
+SGUIHandle.Optimisation_Parameters.AxisZLbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '10',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Initial Value
+SGUIHandle.Optimisation_Parameters.AxisZov = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.875, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '300',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+% Upper Bound
+SGUIHandle.Optimisation_Parameters.AxisZUbv = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.95, 0.24, 0.05, 0.04],...
+ 'style', 'edit',...
+ 'string', '400',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Parameters'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% CREATE OPTIMISATION PARAMETERS SETUP
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% ALGORITHMS
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Setup.AlgorithmTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.2, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Algorithm',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.AlgorithmSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.15, 0.2, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'sqp', 'trust-region-reflective', 'interior-point', 'active-set'},...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+%--------------------------------------------------------------------------
+% TOLERANCES
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Setup.ToleranceTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.13, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Tolerances (X, Function, Constraints)',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.TolXSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.TolFunSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.8, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.TolConSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.9, 0.08, 0.1, 0.045],...
+ 'style', 'listbox',...
+ 'string', {'1.e-3', '1.e-4', '1.e-5', '1.e-6', '1.e-7', '1.e-8'},...
+ 'value', 4,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+%--------------------------------------------------------------------------
+% MAXIMUM FUNCTION EVALUATIONS & ITERATIONS
+%--------------------------------------------------------------------------
+% Title
+SGUIHandle.Optimisation_Setup.MaxIterationsTxt = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.06, 0.3, 0.02],...
+ 'style', 'text',...
+ 'string', 'Maximum Nb. of Iterations & Function Evaluations',...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold');
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.MaxIterSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.7, 0.02, 0.15, 0.035],...
+ 'style', 'listbox',...
+ 'string', {'1.e2', '1.e3', '1.e4'},...
+ 'value', 2,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Selection Values
+SGUIHandle.Optimisation_Setup.MaxFunEvalSelect = uicontrol(...
+ 'units', 'normalized',...
+ 'position', [0.85, 0.02, 0.15, 0.035],...
+ 'style', 'listbox',...
+ 'string', {'1.e2', '1.e3', '1.e4'},...
+ 'value', 2,...
+ 'backgroundcolor', 'white',...
+ 'fontsize', 12,...
+ 'fontweight', 'bold',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Set Optimisation Settings'));
+
+% Create the Help Menu
+SGUIHandle.HelpMenu(1,1) = uimenu(SHandle,...
+ 'label', 'GUI Help');
+SGUIHandle.HelpMenu(2,1) = uimenu(SGUIHandle.HelpMenu(1,1),...
+ 'label', 'About?',...
+ 'callback', ELLIPSOID_TOOL_script_generator('Help'));
+
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISE THE OPTIMISATION DATA STRUCTURE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Data Structure
+EOPTDATA.points = [];
+EOPTDATA.Initial_Guess = [0, -50, -200, 200, 100, 300];
+EOPTDATA.Lower_Bounds = [-50, -100, -400, 10, 10, 10];
+EOPTDATA.Upper_Bounds = [50, 100, 400, 400, 400, 400];
+EOPTDATA.Algorithm = 'sqp';
+EOPTDATA.TolX = 1.e-6;
+EOPTDATA.TolFun = 1.e-6;
+EOPTDATA.TolCon = 1.e-6;
+EOPTDATA.MaxFunEval = 1.e3;
+EOPTDATA.MaxIter = 1.e3;
+
+% Give it the List of Points
+points = [];
+for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ Xmax = str2double(get(SGUIHandle.RibCage_Selection.Xmax, 'string'));
+ Ymax = str2double(get(SGUIHandle.RibCage_Selection.Ymax, 'string'));
+ Zmax = str2double(get(SGUIHandle.RibCage_Selection.Zmax, 'string'));
+ Xmin = str2double(get(SGUIHandle.RibCage_Selection.Xmin, 'string'));
+ Ymin = str2double(get(SGUIHandle.RibCage_Selection.Ymin, 'string'));
+ Zmin = str2double(get(SGUIHandle.RibCage_Selection.Zmin, 'string'));
+
+ % Select an initial set of points
+ if MEDATA.Thorax_Mesh.points(i,1) > Xmin && MEDATA.Thorax_Mesh.points(i,1) < Xmax
+ if MEDATA.Thorax_Mesh.points(i,2) > Ymin && MEDATA.Thorax_Mesh.points(i,2) < Ymax
+ if MEDATA.Thorax_Mesh.points(i,3) > Zmin && MEDATA.Thorax_Mesh.points(i,3) < Zmax
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+end
+EOPTDATA.points = points; clear points;
+%}
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% INITIALISATION OF THE VISUALISATION
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% Create the Axes
+SPlotHandles.SubjectSpecificVisualisationAxes = axes(...
+ 'units', 'normalized',...
+ 'position', [0.1, 0.05, 0.6, 0.9]);
+
+% Set the Axis
+set(SHandle, 'currentaxes', SPlotHandles.SubjectSpecificVisualisationAxes); hold on;
+
+% Create the 3-D Meshing Visualisations
+SPlotHandles.MeshHandle(1) = VISUALISATION_view_bone_meshing([], MEDATA, 0, BLDATA);
+SPlotHandles.MeshHandle(2) = VISUALISATION_view_bone_meshing([], MEDATA, 1, BLDATA);
+SPlotHandles.MeshHandle(3) = VISUALISATION_view_bone_meshing([], MEDATA, 2, BLDATA);
+SPlotHandles.MeshHandle(4) = VISUALISATION_view_bone_meshing([], MEDATA, 3, BLDATA);
+SPlotHandles.MeshHandle(5) = VISUALISATION_view_bone_meshing([], MEDATA, 4, BLDATA);
+SPlotHandles.MeshHandle(6) = VISUALISATION_view_bone_meshing([], MEDATA, 5, BLDATA);
+SPlotHandles.MeshHandle(7) = VISUALISATION_view_bone_meshing([], MEDATA, 6, BLDATA);
+
+
+% make the meshings to look transparent
+for mesh = 1:7
+ SPlotHandles.MeshHandle(mesh).FaceAlpha = 0.7;
+end
+
+
+% Create the 3-D Wire Frame Visualisations
+SPlotHandles.WireFrameHandle(1) = VISUALISATION_view_bone_wireframe([], 0, BLDATA);
+SPlotHandles.WireFrameHandle(2) = VISUALISATION_view_bone_wireframe([], 1, BLDATA);
+SPlotHandles.WireFrameHandle(3) = VISUALISATION_view_bone_wireframe([], 2, BLDATA);
+SPlotHandles.WireFrameHandle(4) = VISUALISATION_view_bone_wireframe([], 3, BLDATA);
+SPlotHandles.WireFrameHandle(5) = VISUALISATION_view_bone_wireframe([], 4, BLDATA);
+SPlotHandles.WireFrameHandle(6) = VISUALISATION_view_bone_wireframe([], 5, BLDATA);
+
+
+% visualize the generic glenoid
+
+% initialize the number of points that we want to draw the fossa with
+Nout = zeros(DYDATA.NbConstraints,3);
+
+% Get initial and current scapula rotation matrices
+Rs0 = BLDATA.Initial_Matrices_L2A.Rs;
+
+% Put the Cone Center (center of the ellipse) in Cone Frame (its origin on vertex of the cone)
+C = DYDATA.Cone_Rb'*DYDATA.ConeCentre;
+
+% Angle Around the Ellipse (number of cutting planes)
+theta = linspace(0, 2*pi, DYDATA.NbConstraints);
+
+% Points Around the Ellipse where the normal vectors are to be computed (they are in cone frame)
+P = [zeros(1,DYDATA.NbConstraints)+C(1);
+ DYDATA.ConeDimensions(1)*cos(theta)+C(2);
+ DYDATA.ConeDimensions(2)*sin(theta)+C(3)];
+
+% transform the points to the thorax frame, only for the initial
+% configuration
+ for i = 1:DYDATA.NbConstraints
+ P_inT = DYDATA.Cone_Rb*P(:,i)*1e3 + BLDATA.Initial_Points.GH;
+ hold on
+ plot3(P_inT(1), P_inT(2), P_inT(3),'marker', 'o','markersize',4,'markerfacecolor', 'red','markeredgecolor', 'red')
+ end
+
+
+
+% visualize the ribcage ellipsoid
+
+SPlotHandles.Ellipsoid = [];
+SPlotHandles.Ellipsoid = VISUALISATION_view_ribcage_ellipsoid('AI', SPlotHandles.Ellipsoid, REDATA);
+
+set(SPlotHandles.Ellipsoid, 'facecolor', 'red', 'facealpha', 0.3, 'edgealpha', 0.3);
+
+% % Initialise the ellipsoid plot
+% EPlotHandles.Ellipsoid = [];
+%
+% % Visualise the Area to be used
+% EPlotHandles.RibCage = plot3(EOPTDATA.points(:,1), EOPTDATA.points(:,2), EOPTDATA.points(:,3),...
+% 'linestyle', '--',...
+% 'marker', 'o',...
+% 'color', 'red',...
+% 'markerfacecolor', 'blue',...
+% 'markersize', 6);
+
+%--------------------------------------------------------------------------
+% SET THE APPEARANCE OF THE VISUALISATION
+%--------------------------------------------------------------------------
+% Set some lights to help visualise the model
+light('Position',[ 1, 0, 0],'Style','infinite');
+light('Position',[ 0, 0, -10],'Style','local');
+light('Position',[10, -50, 0],'Style','infinite');
+colormap copper; % Give the bone meshings a bone color.
+%box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+material dull; % Define the bone meshing material. It removes the shiny effect.
+axis equal; % Correct the apsect ratio.
+zoom(1); % Zoom in on the visualisation. otherwise it looks very small.
+view([185, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_function.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_function.m
new file mode 100755
index 0000000..93654a5
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_function.m
@@ -0,0 +1,109 @@
+function [f, df] = ELLIPSOID_TOOL_optimisation_function(x, Points)
+% Function used by fmincon to compute the cost function for the ellipsoid.
+%--------------------------------------------------------------------------
+% Syntax :
+% [f, df] = ELLIPSOID_TOOL_optimisation_function(x, Points)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function computes the cost function for the ribcage ellipsoid
+% optimisaiton. The cost function is the sum of the norms between points on
+% the ribcage meshing and their projection onto the surface of the
+% ellipsoid.
+%
+%--------------------------------------------------------------------------
+
+% Get Ellipsoid Variables
+xo = x(1); a = x(4);
+yo = x(2); b = x(5);
+zo = x(3); c = x(6);
+
+% Ellipsoid Matrix
+E = diag([1/a^2; 1/b^2; 1/c^2]);
+
+% Ellipsoid Centre
+O = [xo; yo; zo];
+
+% Initialise the output
+f = 0;
+
+% The gradient is computed using MATLAB (finite differencing)
+df = zeros(6,1);
+
+% Compute the cost function
+for i = 1:size(Points,1)
+ % Get the coordinates of point to be projected
+ u = Points(i,1);
+ v = Points(i,2);
+ w = Points(i,3);
+ Q = [u; v; w];
+
+ % Compute the projection scalar
+ Lam = Lambda_Compute(xo, yo, zo, a, b, c, u, v, w);
+
+ % Compute the projected point
+ P = inv(eye(3) + 2*Lam*E)*(Q + 2*Lam*E*O);
+
+ % Augment the cost function
+ f = f + 0.5*(P-Q)'*(P-Q);
+end
+return;
+
+% Small Sub-function for computing Lambda the projection scalar
+function Lam = Lambda_Compute(xo, yo, zo, a, b, c, u, v, w)
+% The Projected Point Coordinates satisfy the equations
+% u = x + 2 * lam * (x - xo)/a^2 -> x = (u * a^2 + 2 * lam * xo)/(a^2 + 2 * lam)
+% v = y + 2 * lam * (y - yo)/b^2 -> y = (v * b^2 + 2 * lam * yo)/(b^2 + 2 * lam)
+% w = z + 2 * lam * (z - zo)/c^2 -> z = (w * c^2 + 2 * lam * zo)/(c^2 + 2 * lam)
+%
+% Injecting the relations into the ellipsoid equation
+%
+% a^2*(u - xo)^2/(a^2 + 2 * lam) + b^2*(v - yo)^2/(b^2 + 2 * lam) + c^2*(w - zo)^2/(c^2 + 2 * lam) - 1 = 0
+%
+% List of Polynomial Coefficients for Computing lambda, the projection
+% parameter. These coefficients where computed using MATLAB's symbolic
+% toolbox.
+K6 = - 64;
+
+K5 = - 64*(a^2 + b^2 + c^2);
+
+K4 = - 16*(a^4 + b^4 + c^4)...
+ - 64*(a^2*c^2 + b^2*c^2 + a^2*b^2)...
+ + 16*(a^2*u^2 + b^2*v^2 + c^2*w^2)...
+ - 32*(a^2*u*xo + b^2*v*yo + c^2*w*zo)...
+ + 16*(a^2*xo^2 + b^2*yo^2 + c^2*zo^2);
+
+K3 = - 64*(a^2*b^2*c^2)...
+ - 16*(a^4*b^2 + a^4*c^2 + b^4*a^2 + b^4*c^2 + c^4*a^2 + c^4*b^2)...
+ + 16*(a^2*u^2*b^2 + a^2*u^2*c^2 + b^2*v^2*a^2 + b^2*v^2*c^2 + c^2*w^2*a^2 + c^2*w^2*b^2)...
+ + 16*(c^2*zo^2*b^2 + c^2*zo^2*a^2 + a^2*xo^2*c^2 + a^2*xo^2*b^2 + b^2*yo^2*c^2 + b^2*a^2*yo^2)...
+ - 32*(a^2*u*xo*c^2 + a^2*u*xo*b^2 + b^2*v*yo*c^2 + b^2*v*yo*a^2 + c^2*w*zo*b^2 + c^2*w*zo*a^2);
+
+K2 = + 16*(a^2*b^2*c^2*u^2 + a^2*b^2*c^2*v^2 + a^2*b^2*c^2*w^2)...
+ + 16*(a^2*b^2*c^2*xo^2 + a^2*b^2*c^2*yo^2 + a^2*b^2*c^2*zo^2)...
+ - 32*(a^2*b^2*c^2*u*xo + a^2*b^2*c^2*v*yo + a^2*b^2*c^2*w*zo)...
+ - 4*(a^4*b^4 + a^4*c^4 + b^4*c^4) - 16*(a^4*b^2*c^2 + a^2*b^4*c^2 + a^2*b^2*c^4)...
+ + 4*(a^2*b^4*u^2 + a^2*c^4*u^2 + b^2*a^4*v^2 + b^2*c^4*v^2 + c^2*a^4*w^2 + c^2*b^4*w^2)...
+ - 8*(a^2*c^4*u*xo + a^2*b^4*u*xo + b^2*c^4*v*yo + b^2*a^4*v*yo + c^2*a^4*w*zo + c^2*b^4*w*zo)...
+ + 4*(a^2*b^4*xo^2 + a^2*c^4*xo^2 + b^2*a^4*yo^2 + b^2*c^4*yo^2 + c^2*a^4*zo^2 + c^2*b^4*zo^2);
+
+K1 = - 4*(a^2*b^4*c^4 + b^2*a^4*c^4 + c^2*b^4*a^4)...
+ + 4*(a^2*b^2*c^4*u^2 + a^2*b^4*c^2*u^2 + a^4*b^2*c^2*v^2 + a^2*b^2*c^4*v^2 + a^4*b^2*c^2*w^2 + a^2*b^4*c^2*w^2)...
+ - 8*(a^2*b^2*c^4*u*xo + a^2*b^4*c^2*u*xo + a^2*b^2*c^4*v*yo + a^4*b^2*c^2*v*yo + a^4*b^2*c^2*w*zo + a^2*b^4*c^2*w*zo)...
+ + 4*(a^2*b^2*c^4*xo^2 + a^2*b^4*c^2*xo^2 + a^4*b^2*c^2*yo^2 + a^2*b^2*c^4*yo^2 + a^4*b^2*c^2*zo^2 + a^2*b^4*c^2*zo^2);
+
+K0 = - (a^4*b^4*c^4)...
+ + (a^2*b^4*c^4*u^2 + a^4*b^2*c^4*v^2 + a^4*b^4*c^2*w^2)...
+ + (a^2*b^4*c^4*xo^2 + a^4*b^2*c^4*yo^2 + a^4*b^4*c^2*zo^2)...
+ - 2*(a^2*b^4*c^4*u*xo + a^4*b^2*c^4*v*yo + a^4*b^4*c^2*w*zo);
+
+% Select the smallest real root
+% K6*lam^6 + K5*lam^5 + K4*lam^4 + K3*lam^3 + K2*lam^2 + K1*lam + K0 = 0
+LamRoots = roots([K6, K5, K4, K3, K2, K1, K0]); % Compute roots
+idx = find(abs(imag(LamRoots)) < 1.e-6); % Identify real roots
+[Lam, idy] = min([abs(LamRoots(idx(1),1)), abs(LamRoots(idx(2),1))]); % Select smallest value
+Lam = LamRoots(idx(idy),1);
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_setup.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_setup.m
new file mode 100755
index 0000000..c8f54be
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_optimisation_setup.m
@@ -0,0 +1,56 @@
+function [EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA_In)
+% Uicontrol callback function which updates the optimisation data structure.
+%--------------------------------------------------------------------------
+% Syntax :
+% [EOPTDATA] = ELLIPSOID_TOOL_optimisation_setup(EGUIHandle, EOPTDATA_In)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function gets all the current optimisation settings from the
+% uicontrols of the ELLIPSOID_TOOL GUI.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+EOPTDATA = EOPTDATA_In;
+
+% Get the Lower Bounds
+EOPTDATA.Lower_Bounds(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYLbv, 'string'));
+EOPTDATA.Lower_Bounds(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZLbv, 'string'));
+
+% Get the Upper Bounds
+EOPTDATA.Upper_Bounds(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYUbv, 'string'));
+EOPTDATA.Upper_Bounds(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZUbv, 'string'));
+
+% Get the Initial Values
+EOPTDATA.Initial_Guess(1,1) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreXov, 'string'));
+EOPTDATA.Initial_Guess(1,2) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreYov, 'string'));
+EOPTDATA.Initial_Guess(1,3) = str2double(get(EGUIHandle.Optimisation_Parameters.CentreZov, 'string'));
+EOPTDATA.Initial_Guess(1,4) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisXov, 'string'));
+EOPTDATA.Initial_Guess(1,5) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisYov, 'string'));
+EOPTDATA.Initial_Guess(1,6) = str2double(get(EGUIHandle.Optimisation_Parameters.AxisZov, 'string'));
+
+% List of Algorithms, Tolenrances & Maximum function evaluations
+Algorithm_List = {'sqp', 'trust-region-reflective', 'interior-point', 'active-set'};
+Tolerance_list = [1.e-3, 1.e-4, 1.e-5, 1.e-6, 1.e-7, 1.e-8];
+Iterations_List = [1.e2, 1.e3, 1.e4];
+
+% Get All the Data Into the Structure
+EOPTDATA.Algorithm = Algorithm_List{1,get(EGUIHandle.Optimisation_Setup.AlgorithmSelect, 'value')};
+EOPTDATA.TolX = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolXSelect, 'value'));
+EOPTDATA.TolFun = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolFunSelect, 'value'));
+EOPTDATA.TolCon = Tolerance_list(1,get(EGUIHandle.Optimisation_Setup.TolConSelect, 'value'));
+EOPTDATA.MaxFunEval = Iterations_List(1,get(EGUIHandle.Optimisation_Setup.MaxFunEvalSelect, 'value'));
+EOPTDATA.MaxIter = Iterations_List(1,get(EGUIHandle.Optimisation_Setup.MaxIterSelect, 'value'));
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_ribcage_selection_update.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_ribcage_selection_update.m
new file mode 100755
index 0000000..31b68eb
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_ribcage_selection_update.m
@@ -0,0 +1,39 @@
+function [EPlotHandles, EOPTDATA] = ELLIPSOID_TOOL_ribcage_selection_update(EPlotHandles_In, EGUIHandle, MEDATA, EOPTDATA_In)
+% Uicontrol callback function for updating the points on the ribcage mesh.
+%--------------------------------------------------------------------------
+% Syntax :
+% [EPlotHandles, EOPTDATA] = ELLIPSOID_TOOL_ribcage_selection_update(EPlotHandles_In, EGUIHandle, MEDATA, EOPTDATA_In)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function runs through all the ribcage points and selects the ones to
+% be used for the optimisation given the bounds defined in the GUI's
+% uicontrols.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+EPlotHandles = EPlotHandles_In;
+EOPTDATA = EOPTDATA_In;
+
+% Rebuild the set of points
+points = [];
+for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ if MEDATA.Thorax_Mesh.points(i,1) > str2double(get(EGUIHandle.RibCage_Selection.Xmin, 'string')) && MEDATA.Thorax_Mesh.points(i,1) < str2double(get(EGUIHandle.RibCage_Selection.Xmax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,2) > str2double(get(EGUIHandle.RibCage_Selection.Ymin, 'string')) && MEDATA.Thorax_Mesh.points(i,2) < str2double(get(EGUIHandle.RibCage_Selection.Ymax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,3) > str2double(get(EGUIHandle.RibCage_Selection.Zmin, 'string')) && MEDATA.Thorax_Mesh.points(i,3) < str2double(get(EGUIHandle.RibCage_Selection.Zmax, 'string'))
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+end
+
+% Save the points
+EOPTDATA.points = points;
+
+% Update the visualisaton
+set(EPlotHandles.RibCage, 'xdata', points(:,1), 'ydata', points(:,2), 'zdata', points(:,3));
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_run_optimisation.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_run_optimisation.m
new file mode 100755
index 0000000..8749c4c
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_run_optimisation.m
@@ -0,0 +1,134 @@
+function REDATA = ELLIPSOID_TOOL_run_optimisation(EOPTDATA, BLDATA)
+% Ribcage Ellipsoid Optimisation Overhead function.
+%--------------------------------------------------------------------------
+% Syntax :
+% REDATA = ELLIPSOID_TOOL_run_optimisation(EOPTDATA, BLDATA)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function runs the optimisation procedure for the ribcage ellipsoid.
+% Once a solution is found, the ellipsoid is adapted to the points TS and
+% AI.
+%
+%--------------------------------------------------------------------------
+
+% Create a wait bar to help the user be patient
+ewait = waitbar(0,'Running Ellipsoid Optimisation (Status can be observed in command window)');
+
+% Define the Optimization Options
+options = optimset(...
+ 'Algorithm', EOPTDATA.Algorithm,...
+ 'Display', 'Iter',...
+ 'HessUpdate', 'bfgs',...
+ 'Diagnostics', 'on',...
+ 'Gradobj', 'off',...
+ 'TolX', EOPTDATA.TolX,...
+ 'TolFun', EOPTDATA.TolFun,...
+ 'TolCon', EOPTDATA.TolCon,...
+ 'MaxFunEval', EOPTDATA.MaxFunEval,...
+ 'MaxIter', EOPTDATA.MaxIter);
+
+% Update the wait bar
+waitbar(0.25,ewait);
+
+% Run the Optimization with every two points
+[xopt, fopt, exitflag] = fmincon(@ELLIPSOID_TOOL_optimisation_function,...
+ EOPTDATA.Initial_Guess,...
+ [],[],...
+ [],[],...
+ EOPTDATA.Lower_Bounds, EOPTDATA.Upper_Bounds,...
+ [],...
+ options,...
+ EOPTDATA.points(1:2:end,:));
+
+% Update the wait bar
+waitbar(0.85,ewait);
+
+% Optimisation has been run, the ribcage datastructure is to be updated
+
+% Create the initial data
+REDATA.Centre = xopt(1,1:3);
+REDATA.Axes = xopt(1,4:6);
+
+% Position of TS & AI in thorax reference system
+TS = BLDATA.Initial_Points.TS;
+AI = BLDATA.Initial_Points.AI;
+
+%--------------------------------------------------------------------------
+% The Scaling Factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (TSx - Ex)^2 (TSy - Ey)^2 (TSz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+TSx = TS(1); TSy = TS(2); TSz = TS(3);
+A = REDATA.Axes(1); B = REDATA.Axes(2); C = REDATA.Axes(3);
+Xo = REDATA.Centre(1); Yo = REDATA.Centre(2); Zo = REDATA.Centre(3);
+
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((TSx - Xo)^2 + (TSy - Yo)^2 + (TSz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(TSx - Xo)^2*(C + B) + 2*(TSy - Yo)^2*(A+C) + 2*(TSz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((TSx - Xo)^2*(B^2 + C^2 + 4*C*B) + (TSy - Yo)^2*(C^2 + 4*A*C + A^2) + (TSz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(TSx - Xo)^2*(B^2*C + C^2*B) + 2*(TSy - Yo)^2*(A^2*C + C^2*A) + 2*(TSz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (TSx - Xo)^2*C^2*B^2 + (TSy - Yo)^2*A^2*C^2 + (TSz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+TS_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only
+idx = find(abs(imag(TS_Scale_Roots)) < 1.e-6);
+idxx = find(real(TS_Scale_Roots(idx)) > 0);
+TSsf = TS_Scale_Roots(idx(idxx),1);
+
+% Save The Data
+REDATA.TSscale = TSsf;
+REDATA.TSaxes = [A + TSsf; B + TSsf; C + TSsf];
+
+%--------------------------------------------------------------------------
+% The Scaling Factor is one of the roots of a sixth order polyomial. The
+% polynomial is obtained from the equation and must be a positive real
+% root.
+% (AIx - Ex)^2 (AIy - Ey)^2 (AIz - Ez)^2
+% ------------ + ------------ + ------------ - 1 = 0
+% (A + sf)^2 (B + sf)^2 (C + sf)^2
+%
+% Required Data
+AIx = AI(1); AIy = AI(2); AIz = AI(3);
+
+% The Polynomial Coefficients are given by
+P6 = - 1;
+P5 = - 2*(A + B + C);
+P4 = ((AIx - Xo)^2 + (AIy - Yo)^2 + (AIz - Zo)^2 - (C^2 + 4*C*B + B^2) - 4*(C + B)*A - A^2);
+P3 = (2*(AIx - Xo)^2*(C + B) + 2*(AIy - Yo)^2*(A+C) + 2*(AIz - Zo)^2*(A + B) - 2*(C^2*B + B^2*C) - 2*(C^2 + 4*C*B + B^2)*A - 2*(C + B)*A^2);
+P2 = ((AIx - Xo)^2*(B^2 + C^2 + 4*C*B) + (AIy - Yo)^2*(C^2 + 4*A*C + A^2) + (AIz - Zo)^2*(A^2 + 4*A*B + B^2) - C^2*B^2 - 4*(C^2*B + C*B^2)*A - (C^2 + 4*C*B + B^2)*A^2);
+P1 = (2*(AIx - Xo)^2*(B^2*C + C^2*B) + 2*(AIy - Yo)^2*(A^2*C + C^2*A) + 2*(AIz - Zo)^2*(A^2*B + B^2*A) -2*C^2*B^2*A - 2*(C^2*B + C*B^2)*A^2);
+P0 = (AIx - Xo)^2*C^2*B^2 + (AIy - Yo)^2*A^2*C^2 + (AIz - Zo)^2*A^2*B^2 - A^2*B^2*C^2;
+
+% Get the Roots
+AI_Scale_Roots = roots([P6, P5, P4, P3, P2, P1, P0]);
+
+% Extract the Positive Root only
+idx = find(abs(imag(AI_Scale_Roots)) < 1.e-6);
+idxx = find(real(AI_Scale_Roots(idx)) > 0);
+AIsf = AI_Scale_Roots(idx(idxx),1);
+
+% Save The Data
+REDATA.AIscale = AIsf;
+REDATA.AIaxes = [A + AIsf; B + AIsf; C + AIsf];
+
+% Update the wait bar and close it
+waitbar(1, ewait);
+delete(ewait);
+
+% Display a warning if the optimisation procedure was not successful!
+if exitflag < 1
+ warndlg('The Optimisation was Unsuccessful. See MATLAB command line for details');
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m
new file mode 100755
index 0000000..691f4e7
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m
@@ -0,0 +1,173 @@
+function CBScript = SUBJECT_TOOL_script_generator(task)
+%{
+Uicontrol Callback Script Generator for Subject Specific Tool GUI.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = SUBJECT_TOOL_script_generator(task)
+--------------------------------------------------------------------------
+File Description :
+This function generates the uicontrol callback scripts for the subject
+specific tool GUI. The task input variable inidicates which script to return.
+
+List of Scripts :
+ Task 1: Close Subject Tool
+ Task 2: Show PCSA From List
+ Task 3: Update Muscle PCSA
+ Task 4: Show Glenoid Orientation
+ Task 5: Update Glenoid Orientation
+ Task 6: Load Measured Kinematics
+ Task 7: Update Subject Weight
+ Task 8: Update Ellipsoid
+ Task 9: VISUALIZATION
+ Task 10: SCALING OVERWRITE
+ Task 11: RESET TO GENERIC MODEL
+ Task 12: Help
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Subject GUI
+% Closes the subject specific tool GUI and deletes the variables that are no
+% longer needed.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Subject Tool')
+ CBScript = [...
+ 'clear SHandle;',...
+ 'clear SPlotHandles;',...
+ 'close gcf;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Show the PCSA data of each muscle selected from the popup menu
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Show PCSA From List')
+ CBScript = 'SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Update the PCSA and FMAX of each selected muscle based on the
+% value specified by the user
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Muscle PCSA')
+ CBScript = 'MWDATA = SUBJECT_TOOL_Update_PCSA(SGUIHandle, MWDATA);';
+
+%--------------------------------------------------------------------------
+% Task 4 : Show glenoid orientation data in terms of glenoid version,
+% inclination, or glenoid fossa center in the scapula coordinate system.
+% Note: the scapula coordinate system here is different than the one used
+% for kinematic and dynamic model of the shoulder. It's adapted from A. Terrier
+% , et al, Bone Joint J 2014;96-B:513?18 in order to be consistent with the
+% patient specific data.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Show Glenoid Orientation')
+ CBScript = 'SUBJECT_TOOL_Show_Glenoid_Orientation(SGUIHandle, BLDATA);';
+
+%--------------------------------------------------------------------------
+% Task 5 : Update the glenoid inclination values. These are just saved
+% here. Their effects on model will be accounted for in the Task 7
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Glenoid Orientation')
+ CBScript = 'BLDATA = SUBJECT_TOOL_Update_Glenoid_Orientation(SGUIHandle, BLDATA);';
+
+%--------------------------------------------------------------------------
+% Task 6 : Load Measured Kinematics
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Load Measured Kinematics')
+ CBScript = 'SSDATA = SUBJECT_TOOL_Load_Kinematics(SGUIHandle);';
+
+%--------------------------------------------------------------------------
+% Task 7 : Update the inertial parameters and bony landmarks and also the
+% muscle architecture parameters as well as musculotendon parameters
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Subject Weight')
+ CBScript = ['[DYDATA, MWDATA] = SUBJECT_TOOL_Update_Weight(SGUIHandle, DYDATA, MWDATA);'...
+ 'BLDATA = SUBJECT_TOOL_build_data_bony_landmark(BLDATA, DYDATA);'...
+ 'MWDATA = SUBJECT_TOOL_build_data_muscle_wrapping(BLDATA,MWDATA,DYDATA);'...
+ 'disp(''The model skeletal morphology and muscle architecture and propertis were scaled'');'];
+
+%--------------------------------------------------------------------------
+% Task 8 : Update ricage ellipsoid and also the glenoid cone and also
+% rederive the equations of motion of the model (dynamic model)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Ellipsoid')
+ CBScript = ['REDATA = SUBJECT_TOOL_build_data_ribcage_ellipsoid(BLDATA, DYDATA);'...
+ 'DYDATA = SUBJECT_TOOL_build_data_dynamics(REDATA, BLDATA, DYDATA);'...
+ 'disp(''Ribcage ellipsoides and dynamic model were scaled...'');'];
+
+%--------------------------------------------------------------------------
+% Task 9 : Visualaize the scaled model
+%--------------------------------------------------------------------------
+elseif isequal(task, 'VISUALIZATION')
+ CBScript = 'SPlotHandles = SUBJECT_TOOL_Visualization(SHandle, SPlotHandles, BLDATA, DYDATA, REDATA);';
+
+%--------------------------------------------------------------------------
+% Task 10 : SCALING OVERWRITE for the moment does not work but the idea is
+% to overwrite the scaling performed based on the subject's weight and
+% height by the scalings from imported measured kinematics.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'SCALING OVERWRITE')
+ %CBScript = 'SUBJECT_TOOL_Overwirte_Scaling(SGUIHandle);';
+
+%--------------------------------------------------------------------------
+% Task 11 : Reset to generic model
+%--------------------------------------------------------------------------
+elseif isequal(task, 'RESET TO GENERIC MODEL')
+ CBScript = ['set(SGUIHandle.Gender_Selection.Gender,''Value'', 1);',...
+ 'set(SGUIHandle.Weight_Selection.Weight,''string'', ''85.5'');',...
+ 'set(SGUIHandle.Height_Selection.Height,''string'', ''1.86'');',...
+ 'BLDATA = MAIN_INITIALISATION_build_data_bony_landmark();',...
+ 'MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA);',...
+ 'set(SGUIHandle.PCSA_Selection.MuscleName,''Value'', 1);',...
+ 'set(SGUIHandle.Glenoid_Orientations.Popupmenu,''Value'', 1);',...
+ 'SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA);',...
+ 'SUBJECT_TOOL_Clear_WireFrame(SPlotHandles);',...
+ 'SUBJECT_TOOL_Show_Glenoid_Orientation(SGUIHandle, BLDATA);',...
+ 'REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA);',...
+ 'DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA);'];
+
+%--------------------------------------------------------------------------
+% Task 12 : SCALE the generic measured kinematics
+%--------------------------------------------------------------------------
+elseif isequal(task, 'SCALE KINEMATICS')
+ CBScript = ['SSDATA = SUBJECT_TOOL_Scale_Measurements(SGUIHandle, SSDATA);',...
+ 'disp(''The measured kinematics were scaled.'');'];
+
+%--------------------------------------------------------------------------
+% Task 12 : Help
+% Displays a help message in the command window when the help menu option
+% is clicked.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------- INTERFACE FOR SUBJECT SPECIFIC TOOLBOX -----------------\n'',',...
+ ' ''This GUI helps you adapt the generic model to a specific subject.\n'',',...
+ ' ''You can do certain things that I am going explain later.\n'',',...
+ ' ''details 1: PCSA\n'',',...
+ ' ''details 2: glenoid orientation, what each angle means?\n'', ',...
+ ' ''details 3: the kinematic data and the characteristics of the uploaded file\n'',',...
+ ' ''\n'',',...
+ ' ''\n'','...
+ ' '''']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'SUBJECT_SPECIFIC_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close the Tool,\n',...
+ '2) ,\n',...
+ '3) ,\n',...
+ '4) ,\n',...
+ '5) ,\n',...
+ '6) ,\n',...
+ '7) .'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m~ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m~
new file mode 100755
index 0000000..41256e2
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_script_generator.m~
@@ -0,0 +1,173 @@
+function CBScript = SUBJECT_TOOL_script_generator(task)
+%{
+Uicontrol Callback Script Generator for Subject Specific Tool GUI.
+--------------------------------------------------------------------------
+Syntax :
+CBScript = SUBJECT_TOOL_script_generator(task)
+--------------------------------------------------------------------------
+File Description :
+This function generates the uicontrol callback scripts for the subject
+specific tool GUI. The task input variable inidicates which script to return.
+
+List of Scripts :
+ Task 1: Close Subject Tool
+ Task 2: Show PCSA From List
+ Task 3: Update Muscle PCSA
+ Task 4: Show Glenoid Orientation
+ Task 5: Update Glenoid Orientation
+ Task 6: Load Measured Kinematics
+ Task 7: Update Subject Weight
+ Task 8: Update Ellipsoid
+ Task 9: VISUALIZATION
+ Task 10: SCALING OVERWRITE
+ Task 11: RESET TO GENERIC MODEL
+ Task 12: Help
+--------------------------------------------------------------------------
+%}
+% Initialise the output
+CBScript = [];
+
+%--------------------------------------------------------------------------
+% Task 1 : Close the Subject GUI
+% Closes the subject specific tool GUI and deletes the variables that are no
+% longer needed.
+%--------------------------------------------------------------------------
+if isequal(task, 'Close Subject Tool')
+ CBScript = [...
+ 'clear SHandle;',...
+ 'clear SPlotHandles;',...
+ 'close gcf;'];
+
+%--------------------------------------------------------------------------
+% Task 2 : Show the PCSA data of each muscle selected from the popup menu
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Show PCSA From List')
+ CBScript = 'SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA);';
+
+%--------------------------------------------------------------------------
+% Task 3 : Update the PCSA and FMAX of each selected muscle based on the
+% value specified by the user
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Muscle PCSA')
+ CBScript = 'MWDATA = SUBJECT_TOOL_Update_PCSA(SGUIHandle, MWDATA);';
+
+%--------------------------------------------------------------------------
+% Task 4 : Show glenoid orientation data in terms of glenoid version,
+% inclination, or glenoid fossa center in the scapula coordinate system.
+% Note: the scapula coordinate system here is different than the one used
+% for kinematic and dynamic model of the shoulder. It's adapted from A. Terrier
+% , et al, Bone Joint J 2014;96-B:513?18 in order to be consistent with the
+% patient specific data.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Show Glenoid Orientation')
+ CBScript = 'SUBJECT_TOOL_Show_Glenoid_Orientation(SGUIHandle, BLDATA);';
+
+%--------------------------------------------------------------------------
+% Task 5 : Update the glenoid inclination values. These are just saved
+% here. Their effects on model will be accounted for in the Task 7
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Glenoid Orientation')
+ CBScript = 'BLDATA = SUBJECT_TOOL_Update_Glenoid_Orientation(SGUIHandle, BLDATA);';
+
+%--------------------------------------------------------------------------
+% Task 6 : Load Measured Kinematics
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Load Measured Kinematics')
+ CBScript = 'SSDATA = SUBJECT_TOOL_Load_Kinematics(SGUIHandle);';
+
+%--------------------------------------------------------------------------
+% Task 7 : Update the inertial parameters and bony landmarks and also the
+% muscle architecture parameters as well as musculotendon parameters
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Subject Weight')
+ CBScript = ['[DYDATA, MWDATA] = SUBJECT_TOOL_Update_Weight(SGUIHandle, DYDATA, MWDATA);'...
+ 'BLDATA = SUBJECT_TOOL_build_data_bony_landmark(BLDATA, DYDATA);'...
+ 'MWDATA = SUBJECT_TOOL_build_data_muscle_wrapping(BLDATA,MWDATA,DYDATA);'...
+ 'disp(''The model skeletal morphology and muscle architecture and propertis were scaled'');'];
+
+%--------------------------------------------------------------------------
+% Task 8 : Update ricage ellipsoid and also the glenoid cone and also
+% rederive the equations of motion of the model (dynamic model)
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Ellipsoid')
+ CBScript = ['REDATA = SUBJECT_TOOL_build_data_ribcage_ellipsoid(BLDATA, DYDATA);'...
+ 'DYDATA = SUBJECT_TOOL_build_data_dynamics(REDATA, BLDATA, DYDATA);'...
+ 'disp(''Ribcage ellipsoides and dynamic model were scaled...'');'];
+
+%--------------------------------------------------------------------------
+% Task 9 : Visualaize the scaled model
+%--------------------------------------------------------------------------
+elseif isequal(task, 'VISUALIZATION')
+ CBScript = 'SPlotHandles = SUBJECT_TOOL_Visualization(SHandle, SPlotHandles, BLDATA, DYDATA, REDATA);';
+
+%--------------------------------------------------------------------------
+% Task 10 : SCALING OVERWRITE for the moment does not work but the idea is
+% to overwrite the scaling performed based on the subject's weight and
+% height by the scalings from imported measured kinematics.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'SCALING OVERWRITE')
+ %CBScript = 'SUBJECT_TOOL_Overwirte_Scaling(SGUIHandle);';
+
+%--------------------------------------------------------------------------
+% Task 11 : Reset to generic model
+%--------------------------------------------------------------------------
+elseif isequal(task, 'RESET TO GENERIC MODEL')
+ CBScript = ['set(SGUIHandle.Gender_Selection.Gender,''Value'', 1);',...
+ 'set(SGUIHandle.Weight_Selection.Weight,''string'', ''85.5'');',...
+ 'set(SGUIHandle.Height_Selection.Height,''string'', ''1.86'');',...
+ 'BLDATA = MAIN_INITIALISATION_build_data_bony_landmark();',...
+ 'MWDATA = MAIN_INITIALISATION_build_data_muscle_wrapping(BLDATA);',...
+ 'set(SGUIHandle.PCSA_Selection.MuscleName,''Value'', 1);',...
+ 'set(SGUIHandle.Glenoid_Orientations.Popupmenu,''Value'', 1);',...
+ 'SUBJECT_TOOL_Show_PCSA(SGUIHandle, MWDATA);',...
+ 'SUBJECT_TOOL_Clear_WireFrame(SPlotHandles);',...
+ 'SUBJECT_TOOL_Show_Glenoid_Orientation(SGUIHandle, BLDATA);',...
+ 'REDATA = MAIN_INITIALISATION_build_data_ribcage_ellipsoid(BLDATA);',...
+ 'DYDATA = MAIN_INITIALISATION_build_data_dynamics(REDATA, BLDATA);'];
+
+%--------------------------------------------------------------------------
+% Task 12 : SCALE the generic measured kinematics
+%--------------------------------------------------------------------------
+elseif isequal(task, 'SCALE KINEMATICS')
+ CBScript = 'SSDATA = SUBJECT_TOOL_Scale_Measurements(SGUIHandle, SSDATA);'...
+ 'disp(''The model skeletal morphology and muscle architecture and propertis were scaled'');'];
+
+%--------------------------------------------------------------------------
+% Task 12 : Help
+% Displays a help message in the command window when the help menu option
+% is clicked.
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Help')
+ CBScript = [...
+ 'sprintf([''------------- INTERFACE FOR SUBJECT SPECIFIC TOOLBOX -----------------\n'',',...
+ ' ''This GUI helps you adapt the generic model to a specific subject.\n'',',...
+ ' ''You can do certain things that I am going explain later.\n'',',...
+ ' ''details 1: PCSA\n'',',...
+ ' ''details 2: glenoid orientation, what each angle means?\n'', ',...
+ ' ''details 3: the kinematic data and the characteristics of the uploaded file\n'',',...
+ ' ''\n'',',...
+ ' ''\n'','...
+ ' '''']);',...
+ 'disp(ans);'];
+
+%--------------------------------------------------------------------------
+% Throw an error if task is not valid
+%--------------------------------------------------------------------------
+else
+ % Throw an error. No valid task was given
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'SUBJECT_SPECIFIC_TOOL_script_generator requires a valid task as input.\n',...
+ 'Try the Following : \n',...
+ '1) Close the Tool,\n',...
+ '2) ,\n',...
+ '3) ,\n',...
+ '4) ,\n',...
+ '5) ,\n',...
+ '6) ,\n',...
+ '7) .'];
+ error('ScptGen:ErrorMsg', ErrorMsg);
+end
+
+
+return;
diff --git a/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_update_visualisation.m b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_update_visualisation.m
new file mode 100755
index 0000000..88af38e
--- /dev/null
+++ b/ShoulderModel/TOOLBOX_Subject_Specific/SUBJECT_TOOL_update_visualisation.m
@@ -0,0 +1,50 @@
+function PlotHandles = ELLIPSOID_TOOL_update_visualisation(EGUIHandle, PHandles, EOPTDATA, REDATA, MEDATA)
+% Function for updating the ellipsoid tool GUI visualisation.
+%--------------------------------------------------------------------------
+% Syntax :
+% PlotHandles = ELLIPSOID_TOOL_update_visualisation(EGUIHandle, PHandles, EOPTDATA, REDATA, MEDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function updates the visualisation of the ellipsoid tool gui.
+%
+%--------------------------------------------------------------------------
+
+% Initialise the output
+PlotHandles = PHandles;
+
+% Get the Visualisation Options
+ViewEllipsoid = get(EGUIHandle.Ellipsoid_Radio_Button, 'value');
+
+% Update the Ellipsoid
+if ViewEllipsoid
+ PlotHandles.Ellipsoid = VISUALISATION_view_ribcage_ellipsoid(PlotHandles.Ellipsoid, REDATA);
+else
+ set(PlotHandles.Ellipsoid, 'xdata', [], 'ydata', [], 'zdata', []);
+end
+
+% Update the Ribcage Points
+ViewPoints = get(EGUIHandle.Points_Radio_Button, 'value');
+if ViewPoints
+ % Rebuild the set of points
+ points = [];
+ for i = 1:size(MEDATA.Thorax_Mesh.points,1)
+ if MEDATA.Thorax_Mesh.points(i,1) > str2double(get(EGUIHandle.RibCage_Selection.Xmin, 'string')) && MEDATA.Thorax_Mesh.points(i,1) < str2double(get(EGUIHandle.RibCage_Selection.Xmax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,2) > str2double(get(EGUIHandle.RibCage_Selection.Ymin, 'string')) && MEDATA.Thorax_Mesh.points(i,2) < str2double(get(EGUIHandle.RibCage_Selection.Ymax, 'string'))
+ if MEDATA.Thorax_Mesh.points(i,3) > str2double(get(EGUIHandle.RibCage_Selection.Zmin, 'string')) && MEDATA.Thorax_Mesh.points(i,3) < str2double(get(EGUIHandle.RibCage_Selection.Zmax, 'string'))
+ points = [points; [MEDATA.Thorax_Mesh.points(i,:)]];
+ end
+ end
+ end
+ end
+
+ % Save the points
+ EOPTDATA.points = points;
+
+ % Update the visualisaton
+ set(PlotHandles.RibCage, 'xdata', points(:,1), 'ydata', points(:,2), 'zdata', points(:,3));
+else
+ set(PlotHandles.RibCage, 'xdata', [], 'ydata', [], 'zdata', []);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_meshing.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_meshing.m
new file mode 100755
index 0000000..a74e336
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_meshing.m
@@ -0,0 +1,156 @@
+function MeshHandle = VISUALISATION_view_bone_meshing(MHandle, MEDATA, BoneId, BLDATA, varargin)
+% Function for visualising the 3D meshings of the bones.
+%--------------------------------------------------------------------------
+% Syntax :
+% MeshHandle = VISUALISATION_view_bone_meshing(MHandle, MEDATA, BoneId, BLDATA, varargin)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function either creates a visualisation of the bones or updates an
+% already existing one.
+% MHandle contains the handle
+% MEDATA contains the meshing data
+% BoneId is the bone identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+
+% Initialise the Output
+MeshHandle = MHandle;
+
+%--------------------------------------------------------------------------
+% The input handle is empty (no mesh plot has been created)
+%--------------------------------------------------------------------------
+if isempty(MHandle) == 1
+ switch BoneId
+ case 0 % Thorax
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Thorax_Mesh.tri,...
+ MEDATA.Thorax_Mesh.points(:,1),...
+ MEDATA.Thorax_Mesh.points(:,2),...
+ MEDATA.Thorax_Mesh.points(:,3));
+
+ case 1 % Clavicula
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Clavicula_Mesh.points', BLDATA, 1);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the meshing
+ MeshHandle = trisurf(MEDATA.Clavicula_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+ case 2 % Scapula
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Scapula_Mesh.points', BLDATA, 2);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Scapula_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+ case 3 % Humerus
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Humerus_Mesh.points', BLDATA, 3);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Humerus_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+ case 4 % Ulna
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Ulna_Mesh.points', BLDATA, 4);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Ulna_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+ case 5 % Radius
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Radius_Mesh.points', BLDATA, 5);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Radius_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+
+ case 6 % Hand
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Hand_Mesh.points', BLDATA, 5);
+
+ % Meshing Points must be columns
+ Points = Points';
+
+ % Create the Meshing
+ MeshHandle = trisurf(MEDATA.Hand_Mesh.tri, Points(:,1), Points(:,2), Points(:,3));
+ otherwise
+ % Do nothing
+ end
+
+%--------------------------------------------------------------------------
+% The input handle is not empty
+%--------------------------------------------------------------------------
+else
+ switch BoneId
+ case 0 % THORAX
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', MEDATA.Thorax_Mesh.points);
+
+ case 1 % CLAVICULA
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Clavicula_Mesh.points', BLDATA, 1);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+
+ case 2 % SCAPULA
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Scapula_Mesh.points', BLDATA, 2);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+ case 3 % HUMERUS
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Humerus_Mesh.points', BLDATA, 3);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+ case 4 % Ulna
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Ulna_Mesh.points', BLDATA, 4);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+ case 5 % Radius
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Radius_Mesh.points', BLDATA, 5);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+ case 6 % Hand
+ % Rotate the points
+ Points = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', MEDATA.Hand_Mesh.points', BLDATA, 5);
+
+ % Update the Meshing
+ set(MeshHandle, 'Vertices', Points');
+
+ otherwise
+ % Do nothing
+ end
+end
+
+% Minimise the edge effect
+set(MeshHandle, 'edgecolor', 'none');
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% SCRIPT ENDS HERE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_wireframe.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_wireframe.m
new file mode 100755
index 0000000..27199e9
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_bone_wireframe.m
@@ -0,0 +1,134 @@
+function WireFrameHandle = VISUALISATION_view_bone_wireframe(WFHandle, BoneId, BLDATA, varargin)
+%{
+Function for visualising the bone wire frames.
+--------------------------------------------------------------------------
+Syntax :
+WireFrameHandle = VISUALISATION_view_bone_wireframe(WFHandle, BoneId, BLDATA, varargin)
+--------------------------------------------------------------------------
+File Description :
+This function either creates a visualisation of the bones or updates an
+already existing one.
+
+WFHandle contains the handle
+BoneId is the bone identification number
+BLDATA bony landmark data structure
+--------------------------------------------------------------------------
+%}
+
+% Initialise the output
+WireFrameHandle = WFHandle;
+
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+% The input handle is empty (no mesh plot has been created)
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+if isempty(WFHandle) == 1
+ switch BoneId
+ case 0 % THORAX
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Thorax(1,:),...
+ BLDATA.Current_WFBones.Thorax(2,:),...
+ BLDATA.Current_WFBones.Thorax(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+ case 1 % CLAVICULA
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Clavicula(1,:),...
+ BLDATA.Current_WFBones.Clavicula(2,:),...
+ BLDATA.Current_WFBones.Clavicula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+ case 2 % SCAPULA
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Scapula(1,:),...
+ BLDATA.Current_WFBones.Scapula(2,:),...
+ BLDATA.Current_WFBones.Scapula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+ case 3 % HUMERUS
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Humerus(1,:),...
+ BLDATA.Current_WFBones.Humerus(2,:),...
+ BLDATA.Current_WFBones.Humerus(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+ case 4 % Ulna
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Ulna(1,:),...
+ BLDATA.Current_WFBones.Ulna(2,:),...
+ BLDATA.Current_WFBones.Ulna(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+ case 5 % Radius
+ WireFrameHandle = plot3(BLDATA.Current_WFBones.Radius(1,:),...
+ BLDATA.Current_WFBones.Radius(2,:),...
+ BLDATA.Current_WFBones.Radius(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+ otherwise
+ % Do nothing
+ end
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+% The input handle is not empty
+%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+else
+ switch BoneId
+ case 0 % THORAX
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Thorax(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Thorax(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Thorax(3,:));
+ case 1 % CLAVICULA
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Clavicula(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Clavicula(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Clavicula(3,:));
+ case 2 % SCAPULA
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Scapula(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Scapula(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Scapula(3,:));
+ case 3 % HUMERUS
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Humerus(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Humerus(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Humerus(3,:));
+ case 4 % Ulna
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Ulna(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Ulna(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Ulna(3,:));
+ case 5 % Radius
+ % Update the plot
+ set(WireFrameHandle,...
+ 'xdata', BLDATA.Current_WFBones.Radius(1,:),...
+ 'ydata', BLDATA.Current_WFBones.Radius(2,:),...
+ 'zdata', BLDATA.Current_WFBones.Radius(3,:));
+ otherwise
+ % Do nothing
+ end
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% SCRIPT ENDS HERE
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_joint_sinus_cones.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_joint_sinus_cones.m
new file mode 100755
index 0000000..f389075
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_joint_sinus_cones.m
@@ -0,0 +1,167 @@
+function ConeHandle = VISUALISATION_view_joint_sinus_cones(JCHandle, JCDATA, BLDATA, ConeId)
+% Function for visualising the joint sinus cones.
+%--------------------------------------------------------------------------
+% Syntax :
+% ConeHandle = VISUALISATION_view_joint_sinus_cones(JCHandle, JCDATA, BLDATA, ConeId)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function either creates a visualisation of the joint sinus cones or
+% updates an already existing one.
+%
+% JCHandle contains the handle
+% JCDATA joint sinus cone data structure
+% ConeId is the bone identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+
+
+% Initialise the output
+ConeHandle = JCHandle;
+
+% Creat an angle
+theta = linspace(0, 2*pi, 21);
+
+% Initialise the list of points
+Cx = []; R = [];
+Cy = []; Q = [];
+Cz = [];
+
+%--------------------------------------------------------------------------
+% The Plot handle is empty: Create one
+%--------------------------------------------------------------------------
+if isempty(JCHandle)
+ % Run the Code for each cone
+ switch ConeId
+ case 1 % SC JOINT SINUS CONE
+ % Construct the Cone (X-axis is the cone axis)
+ Cx = [zeros(1,21); JCDATA.SCCone.Dimensions(3)*ones(1,21)];
+ Cy = [zeros(1,21); JCDATA.SCCone.Dimensions(1)*cos(theta)];
+ Cz = [zeros(1,21); JCDATA.SCCone.Dimensions(2)*sin(theta)];
+
+ % Build the Rotation Matrix
+ Rsc = Build_Rotation_Matrix(JCDATA.SCCone.ConeAngle(1), JCDATA.SCCone.ConeAngle(2), JCDATA.SCCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rc*Rsc;
+ Q = BLDATA.Current_Points.SC;
+
+ case 2 % AC JOINT SINUS CONE
+ % Construct the Cone (negative Z-axis is the cone axis)
+ Cx = [zeros(1,21); JCDATA.ACCone.Dimensions(1)*cos(theta)];
+ Cy = [zeros(1,21); JCDATA.ACCone.Dimensions(2)*sin(theta)];
+ Cz = [zeros(1,21); -JCDATA.ACCone.Dimensions(3)*ones(1,21)];
+
+ % Build the Rotation Matrix
+ Rac = Build_Rotation_Matrix(JCDATA.ACCone.ConeAngle(1), JCDATA.ACCone.ConeAngle(2), JCDATA.ACCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rs*Rac;
+ Q = BLDATA.Current_Points.AC;
+
+ case 3 % GH JOINT SINUS CONE
+ % Construct the Cone (negative Z-axis is the cone axis)
+ Cx = [zeros(1,21); JCDATA.GHCone.Dimensions(1)*cos(theta)];
+ Cy = [zeros(1,21); JCDATA.GHCone.Dimensions(2)*sin(theta)];
+ Cz = [zeros(1,21); -JCDATA.GHCone.Dimensions(3)*ones(1,21)];
+
+ % Build the Rotation Matrix
+ Rgh = Build_Rotation_Matrix(JCDATA.GHCone.ConeAngle(1), JCDATA.GHCone.ConeAngle(2), JCDATA.GHCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rh*Rgh;
+ Q = BLDATA.Current_Points.GH;
+ otherwise
+ end
+
+ % Rotate & Place the Cone
+ for i = 1:2
+ for j = 1:size(Cx,2)
+ P = R*[Cx(i,j); Cy(i,j); Cz(i,j)] + Q;
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Draw The Cone
+ ConeHandle = surf(Cx, Cy, Cz, 'facecolor', 'green', 'facealpha', 0.5);
+
+%--------------------------------------------------------------------------
+% The Plot handle is empty: Update the current one
+%--------------------------------------------------------------------------
+else
+
+ switch ConeId
+ case 1 % SC JOINT SINUS CONE
+ % Construct the Cone
+ Cx = [zeros(1,21); JCDATA.SCCone.Dimensions(3)*ones(1,21)];
+ Cy = [zeros(1,21); JCDATA.SCCone.Dimensions(1)*cos(theta)];
+ Cz = [zeros(1,21); JCDATA.SCCone.Dimensions(2)*sin(theta)];
+
+ % Build the Rotation Matrix
+ Rsc = Build_Rotation_Matrix(JCDATA.SCCone.ConeAngle(1), JCDATA.SCCone.ConeAngle(2), JCDATA.SCCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rc*Rsc;
+ Q = BLDATA.Current_Points.SC;
+
+ case 2 % AC JOINT SINUS CONE
+ % Construct the Cone
+ Cx = [zeros(1,21); JCDATA.ACCone.Dimensions(1)*cos(theta)];
+ Cy = [zeros(1,21); JCDATA.ACCone.Dimensions(2)*sin(theta)];
+ Cz = [zeros(1,21); -JCDATA.ACCone.Dimensions(3)*ones(1,21)];
+
+ % Build the Rotation Matrix
+ Rac = Build_Rotation_Matrix(JCDATA.ACCone.ConeAngle(1), JCDATA.ACCone.ConeAngle(2), JCDATA.ACCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rs*Rac;
+ Q = BLDATA.Current_Points.AC;
+
+ case 3 % GH JOINT SINUS CONE
+ % Construct the Cone
+ Cx = [zeros(1,21); JCDATA.GHCone.Dimensions(1)*cos(theta)];
+ Cy = [zeros(1,21); JCDATA.GHCone.Dimensions(2)*sin(theta)];
+ Cz = [zeros(1,21); -JCDATA.GHCone.Dimensions(3)*ones(1,21)];
+
+ % Build the Rotation Matrix
+ Rgh = Build_Rotation_Matrix(JCDATA.GHCone.ConeAngle(1), JCDATA.GHCone.ConeAngle(2), JCDATA.GHCone.ConeAngle(3));
+ R = BLDATA.Current_Matrices_L2A.Rh*Rgh;
+ Q = BLDATA.Current_Points.GH;
+ otherwise
+ end
+
+ % Rotate & Place the Cone
+ for i = 1:2
+ for j = 1:size(Cx,2)
+ P = R*[Cx(i,j); Cy(i,j); Cz(i,j)] + Q;
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Draw The Cone
+ set(ConeHandle, 'xdata', Cx, 'ydata', Cy, 'zdata', Cz, 'facecolor', 'green', 'facealpha', 0.5);
+end
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% END OF PRIMARY SCRIPT
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+return;
+
+% Small sub-function for creating the rotation matrices
+function R = Build_Rotation_Matrix(Ax, Ay, Az)
+% This function simply builds a rotation matrix given three angles.
+
+Rx = [1, 0, 0;
+ 0, cos(Ax), -sin(Ax);
+ 0, sin(Ax), cos(Ax)];
+
+Ry = [cos(Ay), 0, -sin(Ay);
+ 0, 1, 0;
+ sin(Ay), 0, cos(Ay)];
+
+Rz = [cos(Az), -sin(Az), 0;
+ sin(Az), cos(Az), 0;
+ 0, 0, 1];
+
+% Define the Output. The sequence is Z - Y - X
+R = Rx*Ry'*Rz;
+
+return
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_insertions.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_insertions.m
new file mode 100755
index 0000000..4325590
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_insertions.m
@@ -0,0 +1,55 @@
+function MuscleHandle = VISUALISATION_view_muscle_insertions(MWHandle, MWDATA, BLDATA, MuscleId)
+% Function for visualising the muscle insertion parameterisation.
+%--------------------------------------------------------------------------
+% Syntax :
+% MuscleHandle = VISUALISATION_view_muscle_insertions(MWHandle, MWDATA, BLDATA, MuscleId)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function either creates a visualisation of the muscle insertions or
+% updates an already existing one.
+%
+% MWHandle contains the handle
+% MWDATA msucle wrapping data structure
+% MuscleId is the muscle identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MuscleHandle = MWHandle;
+
+% Get the Origin Data
+Insertions = MWDATA{MuscleId,1}.AnchorInsertion;
+Insertions = cell2mat(Insertions);
+
+% Build the Spline
+WayPoints = MUSCLE_TOOL_spline_build(MWDATA{MuscleId,1}.AnchorInsertion, MWDATA{MuscleId,1}.MSCInfo.InterpType, 100);
+
+% Rotate the Points into absolute frame
+Insertions = MAIN_TOOL_geometry_functions(...
+ 'Rotate Points From Local To Global Frame (Current)',...
+ [Insertions(:,1), WayPoints, Insertions(:,end)], BLDATA, MWDATA{MuscleId,1}.MSCInfo.InsertionRef);
+
+%--------------------------------------------------------------------------
+% The input handle is empty (no mesh plot has been created)
+%--------------------------------------------------------------------------
+if isempty(MWHandle)
+ % Create the plot
+ MuscleHandle = plot3(Insertions(1,:), Insertions(2,:), Insertions(3,:),...
+ 'color', 'cyan',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'cyan',...
+ 'markersize', 6);
+
+%--------------------------------------------------------------------------
+% The input handle is not empty
+%--------------------------------------------------------------------------
+else
+ % Create the plot
+ set(MuscleHandle,'xdata', Insertions(1,:), 'ydata', Insertions(2,:), 'zdata', Insertions(3,:));
+end
+return;
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_origins.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_origins.m
new file mode 100755
index 0000000..4718014
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_origins.m
@@ -0,0 +1,55 @@
+function MuscleHandle = VISUALISATION_view_muscle_origins(MWHandle, MWDATA, BLDATA, MuscleId)
+% Function for visualising the muscle origin parameterisation.
+%--------------------------------------------------------------------------
+% Syntax :
+% MuscleHandle = VISUALISATION_view_muscle_origins(MWHandle, MWDATA, BLDATA, MuscleId)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function either creates a visualisation of the muscle origins or
+% updates an already existing one.
+%
+% MWHandle contains the handle
+% MWDATA msucle wrapping data structure
+% MuscleId is the muscle identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+
+% Initialise the output
+MuscleHandle = MWHandle;
+
+% Get the Origin Data
+Origins = MWDATA{MuscleId,1}.AnchorOrigin;
+Origins = cell2mat(Origins);
+
+% Build the Spline
+WayPoints = MUSCLE_TOOL_spline_build(MWDATA{MuscleId,1}.AnchorOrigin, MWDATA{MuscleId,1}.MSCInfo.InterpType, 100);
+
+% Rotate the Points into absolute frame
+Origins = MAIN_TOOL_geometry_functions(...
+ 'Rotate Points From Local To Global Frame (Current)',...
+ [Origins(:,1), WayPoints, Origins(:,end)], BLDATA, MWDATA{MuscleId,1}.MSCInfo.OriginRef);
+
+%--------------------------------------------------------------------------
+% The input handle is empty (no mesh plot has been created)
+%--------------------------------------------------------------------------
+if isempty(MWHandle)
+ % Create the plot
+ MuscleHandle = plot3(Origins(1,:), Origins(2,:), Origins(3,:),...
+ 'color', 'green',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'green',...
+ 'markersize', 6);
+
+%--------------------------------------------------------------------------
+% The input handle is not empty
+%--------------------------------------------------------------------------
+else
+ % Create the plot
+ set(MuscleHandle,'xdata', Origins(1,:), 'ydata', Origins(2,:), 'zdata', Origins(3,:));
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_segement.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_segement.m
new file mode 100755
index 0000000..b81587c
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_segement.m
@@ -0,0 +1,67 @@
+function [SegmentHandle, MWDATA] = VISUALISATION_view_muscle_segement(SEGHandle, MWDATAin, BLDATA, MuscleId, SegmentId)
+% Function for visualising the muscle segments.
+%--------------------------------------------------------------------------
+% Syntax :
+% [SegmentHandle, MWDATA] = VISUALISATION_view_muscle_segement(SEGHandle, MWDATA, BLDATA, MuscleId, SegmentId)
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram (LA - EPFL)
+%
+% File Description :
+% This function either creates a visualisation of the muscle segments or
+% updates an already existing one.
+%
+% SEGHandle contains the handle
+% MWDATA msucle wrapping data structure
+% MuscleId is the muscle identification number
+% SegmentId is the segment identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+
+% Initialise the output
+SegmentHandle = SEGHandle;
+MWDATA = MWDATAin;
+
+% Construct a One-Time Muscle Structure for a single segment
+Muscle_Seg.Origin = MWDATA{MuscleId,1}.Origin{1,SegmentId};
+Muscle_Seg.ViaA = MWDATA{MuscleId,1}.ViaA{1,SegmentId};
+Muscle_Seg.ViaB = MWDATA{MuscleId,1}.ViaB{1,SegmentId};
+Muscle_Seg.Insertion = MWDATA{MuscleId,1}.Insertion{1,SegmentId};
+Muscle_Seg.OriginRef = MWDATA{MuscleId,1}.MSCInfo.OriginRef;
+Muscle_Seg.ViaARef = MWDATA{MuscleId,1}.MSCInfo.ViaARef;
+Muscle_Seg.ViaBRef = MWDATA{MuscleId,1}.MSCInfo.ViaBRef;
+Muscle_Seg.InsertionRef = MWDATA{MuscleId,1}.MSCInfo.InsertionRef;
+Muscle_Seg.ObjectCentre = MWDATA{MuscleId,1}.MSCInfo.ObjectCentre;
+Muscle_Seg.ObjectType = MWDATA{MuscleId,1}.MSCInfo.ObjectType;
+Muscle_Seg.ObjectZaxis = MWDATA{MuscleId,1}.MSCInfo.ObjectZaxis;
+Muscle_Seg.ObjectRef = MWDATA{MuscleId,1}.MSCInfo.ObjectRef;
+Muscle_Seg.ObjectRadii = MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale*MWDATA{MuscleId,1}.MSCInfo.ObjectRadii;
+Muscle_Seg.NbPlot = MWDATA{MuscleId,1}.MSCInfo.NbPlotPoints;
+
+% Compute the Wrapping
+WRDATA = MUSCLE_TOOL_compute_wrapping(BLDATA, Muscle_Seg);
+
+%--------------------------------------------------------------------------
+% The input handle is empty (no mesh plot has been created)
+%--------------------------------------------------------------------------
+if isempty(SEGHandle) == 1
+ SegmentHandle = plot3(...
+ WRDATA.PathPoints(1,:),...
+ WRDATA.PathPoints(2,:),...
+ WRDATA.PathPoints(3,:),...
+ 'color', 'red',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markersize', 6,...
+ 'markerfacecolor', 'red');
+
+%--------------------------------------------------------------------------
+% The input handle is not empty
+%--------------------------------------------------------------------------
+else
+ % Plot the Wrapping
+ set(SegmentHandle, 'xdata', WRDATA.PathPoints(1,:), 'ydata', WRDATA.PathPoints(2,:), 'zdata', WRDATA.PathPoints(3,:));
+
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_wrapping_object.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_wrapping_object.m
new file mode 100755
index 0000000..e4b038a
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_muscle_wrapping_object.m
@@ -0,0 +1,170 @@
+function MPlotHandles = VISUALISATION_view_muscle_wrapping_object(MPlotHandles_in, MWDATA, MuscleId, BLDATA)
+% Function for visualising the wrapping object in 3D.
+%--------------------------------------------------------------------------
+% Syntax :
+% MPlotHandles = VISUALISATION_view_muscle_wrapping_object(MPlotHandles_in, MWDATA, MuscleId, BLDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function either creates a visualisation of the muscle wrapping
+% object or updates an already existing one.
+%
+% MPlotHandles_in contains the handle
+% MWDATA msucle wrapping data structure
+% MuscleId is the muscle identification number
+% BLDATA bony landmark data structure
+%--------------------------------------------------------------------------
+% Initialise the output
+MPlotHandles = MPlotHandles_in;
+
+% Construct a One-Time Muscle Structure for a single segment
+Muscle_Seg.OriginRef = MWDATA{MuscleId,1}.MSCInfo.OriginRef;
+Muscle_Seg.ViaARef = MWDATA{MuscleId,1}.MSCInfo.ViaARef;
+Muscle_Seg.ViaBRef = MWDATA{MuscleId,1}.MSCInfo.ViaBRef;
+Muscle_Seg.InsertionRef = MWDATA{MuscleId,1}.MSCInfo.InsertionRef;
+Muscle_Seg.ObjectCentre = MWDATA{MuscleId,1}.MSCInfo.ObjectCentre;
+Muscle_Seg.ObjectType = MWDATA{MuscleId,1}.MSCInfo.ObjectType;
+Muscle_Seg.ObjectZaxis = MWDATA{MuscleId,1}.MSCInfo.ObjectZaxis;
+Muscle_Seg.ObjectRef = MWDATA{MuscleId,1}.MSCInfo.ObjectRef;
+Muscle_Seg.ObjectRadii = MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale*MWDATA{MuscleId,1}.MSCInfo.ObjectRadii;
+Muscle_Seg.NbPlot = MWDATA{MuscleId,1}.MSCInfo.NbPlotPoints;
+
+% Get the Object Centre in the absolute reference frame
+Object_Centre = MUSCLE_TOOL_geometry_functions('Rotate Object Centre To Absolute Frame', BLDATA, Muscle_Seg, [], []);
+
+% Get the Object Rotation Matrix
+Object_Rotation_Matrix = MUSCLE_TOOL_geometry_functions('Construct Object Rotation Matrix', BLDATA, Muscle_Seg, [], []);
+
+%--------------------------------------------------------------------------
+% The Muscle Has no Wrapping
+% NO WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+if isequal(MWDATA{MuscleId, 1}.MSCInfo.ObjectType, 'none')
+ % do nothing
+
+%--------------------------------------------------------------------------
+% The muscle has a wrapping
+% SINGLE CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA{MuscleId, 1}.MSCInfo.ObjectType, 'single')
+ [Cx, Cy, Cz] = cylinder(abs(MWDATA{MuscleId, 1}.MSCInfo.ObjectRadii*MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale), 20);
+
+ % Lengthen the cylinder
+ Cx = [Cx; Cx(1,:)];
+ Cy = [Cy; Cy(1,:)];
+ Cz = [-100*Cz(2,:); 100*Cz];
+
+ % Run through all the points
+ for i = 1:size(Cx,1)
+ for j = 1:size(Cx,2)
+ P = Object_Rotation_Matrix*[Cx(i,j); Cy(i,j); Cz(i,j)] + Object_Centre;
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Create the object
+ set(MPlotHandles.MuscleObject(MuscleId,1), 'xdata', Cx, 'ydata', Cy, 'zdata', Cz);
+
+%--------------------------------------------------------------------------
+% The muscle has a wrapping
+% DOUBLE CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA{MuscleId, 1}.MSCInfo.ObjectType, 'double')
+ % Construct the First Cylinder
+ [Cx, Cy, Cz] = cylinder(abs(MWDATA{MuscleId, 1}.MSCInfo.ObjectRadii(1)*MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale), 20);
+
+ % Lengthen the cylinder
+ Cx = [Cx; Cx(1,:)];
+ Cy = [Cy; Cy(1,:)];
+ Cz = [-100*Cz(2,:); 100*Cz];
+
+ % Run through all the points
+ for i = 1:size(Cx,1)
+ for j = 1:size(Cx,2)
+ P = Object_Rotation_Matrix(:,1:3)*[Cx(i,j); Cy(i,j); Cz(i,j)] + Object_Centre(:,1);
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Create the object
+ set(MPlotHandles.MuscleObject(MuscleId,1), 'xdata', Cx, 'ydata', Cy, 'zdata', Cz);
+
+ % Construct the First Cylinder
+ [Cx, Cy, Cz] = cylinder(abs(MWDATA{MuscleId, 1}.MSCInfo.ObjectRadii(2)*MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale), 20);
+
+ % Lengthen the cylinder
+ Cx = [Cx; Cx(1,:)];
+ Cy = [Cy; Cy(1,:)];
+ Cz = [-100*Cz(2,:); 100*Cz];
+
+ % Run through all the points
+ for i = 1:size(Cx,1)
+ for j = 1:size(Cx,2)
+ P = Object_Rotation_Matrix(:,4:6)*[Cx(i,j); Cy(i,j); Cz(i,j)] + Object_Centre(:,2);
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Create the object
+ set(MPlotHandles.MuscleObject(MuscleId,2), 'xdata', Cx, 'ydata', Cy, 'zdata', Cz);
+
+%--------------------------------------------------------------------------
+% The muscle has a wrapping
+% SPHERE CAPPED CYLINDER WRAPPING
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+elseif isequal(MWDATA{MuscleId, 1}.MSCInfo.ObjectType, 'stub')
+ % Build the Cylinder
+ [Cx, Cy, Cz] = cylinder(abs(MWDATA{MuscleId, 1}.MSCInfo.ObjectRadii*MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale), 20);
+
+ % Lengthen the cylinder
+ Cz = -100*Cz;
+
+ % Run through all the points
+ for i = 1:size(Cx,1)
+ for j = 1:size(Cx,2)
+ P = Object_Rotation_Matrix*[Cx(i,j); Cy(i,j); Cz(i,j)] + Object_Centre;
+ Cx(i,j) = P(1);
+ Cy(i,j) = P(2);
+ Cz(i,j) = P(3);
+ end
+ end
+
+ % Create the object
+ set(MPlotHandles.MuscleObject(MuscleId,1), 'xdata', Cx, 'ydata', Cy, 'zdata', Cz);
+
+ % Build the Spherical Cap
+ [Sx, Sy, Sz] = sphere(20);
+
+ % Cut the Sphere in half
+ Sx = Sx(11:end,:);
+ Sy = Sy(11:end,:);
+ Sz = Sz(11:end,:);
+
+ % Get the Radii
+ R = abs(MWDATA{MuscleId, 1}.MSCInfo.ObjectRadii*MWDATA{MuscleId,1}.MSCInfo.ObjectRadiiscale);
+
+ % Run through all the points
+ for i = 1:size(Sx,1)
+ for j = 1:size(Sx,2)
+ P = Object_Rotation_Matrix*R*[Sx(i,j); Sy(i,j); Sz(i,j)] + Object_Centre;
+ Sx(i,j) = P(1);
+ Sy(i,j) = P(2);
+ Sz(i,j) = P(3);
+ end
+ end
+
+ % Create the object
+ set(MPlotHandles.MuscleObject(MuscleId,2), 'xdata', Sx, 'ydata', Sy, 'zdata', Sz);
+end
+return
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/VISUALISATION_view_ribcage_ellipsoid.m b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_ribcage_ellipsoid.m
new file mode 100755
index 0000000..6f8b5c4
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/VISUALISATION_view_ribcage_ellipsoid.m
@@ -0,0 +1,80 @@
+function EllipseHandle = VISUALISATION_view_ribcage_ellipsoid(task, EHandle, REDATA)
+% Function for visualising the ribcage ellipsoid.
+%--------------------------------------------------------------------------
+% Syntax :
+% EllipseHandle = VISUALISATION_view_ribcage_ellipsoid(EHandle, REDATA)
+%--------------------------------------------------------------------------
+%
+%
+% File Description :
+% This function either creates a visualisation of the ribcage ellipsoid or
+% upadates an already existing one.
+%--------------------------------------------------------------------------
+
+% Initialise the output
+EllipseHandle = EHandle;
+
+% Create sphere
+[Sx, Sy, Sz] = sphere(20);
+
+if isequal(task, 'ribcage')
+
+% Transform to ellipsoid
+Ex = REDATA.Axes(1)*Sx + REDATA.Centre(1)*ones(21,21);
+Ey = REDATA.Axes(2)*Sy + REDATA.Centre(2)*ones(21,21);
+Ez = REDATA.Axes(3)*Sz + REDATA.Centre(3)*ones(21,21);
+
+% The Handle is empty: Create a visualisation
+if isempty(EllipseHandle)
+ EllipseHandle = surf(Ex, Ey, Ez, 'facecolor', 'cyan', 'facealpha', 0.5, 'edgealpha', 0.5);
+% Update a pre-existing visualisation
+else
+ set(EllipseHandle, 'xdata', Ex, 'ydata', Ey, 'zdata', Ez, 'facecolor', 'cyan', 'facealpha', 0.5, 'edgealpha', 0.5);
+end
+
+
+elseif isequal(task, 'TS')
+
+ % Transform to ellipsoid
+Ex = REDATA.TSaxes(1)*Sx + REDATA.Centre(1)*ones(21,21);
+Ey = REDATA.TSaxes(2)*Sy + REDATA.Centre(2)*ones(21,21);
+Ez = REDATA.TSaxes(3)*Sz + REDATA.Centre(3)*ones(21,21);
+
+% The Handle is empty: Create a visualisation
+if isempty(EllipseHandle)
+ EllipseHandle = surf(Ex, Ey, Ez, 'facecolor', 'red', 'facealpha', 0.5, 'edgealpha', 0.5);
+% Update a pre-existing visualisation
+else
+ set(EllipseHandle, 'xdata', Ex, 'ydata', Ey, 'zdata', Ez, 'facecolor', 'red', 'facealpha', 0.5, 'edgealpha', 0.5);
+end
+
+elseif isequal(task, 'AI')
+
+ % Transform to ellipsoid
+Ex = REDATA.AIaxes(1)*Sx + REDATA.Centre(1)*ones(21,21);
+Ey = REDATA.AIaxes(2)*Sy + REDATA.Centre(2)*ones(21,21);
+Ez = REDATA.AIaxes(3)*Sz + REDATA.Centre(3)*ones(21,21);
+
+% The Handle is empty: Create a visualisation
+if isempty(EllipseHandle)
+ EllipseHandle = surf(Ex, Ey, Ez, 'facecolor', 'red', 'facealpha', 0.3, 'edgealpha', 0.3);
+% Update a pre-existing visualisation
+else
+ set(EllipseHandle, 'xdata', Ex, 'ydata', Ey, 'zdata', Ez, 'facecolor', 'red', 'facealpha', 0.3, 'edgealpha', 0.3);
+end
+
+else
+ %
+end
+
+
+
+
+
+
+
+
+
+
+
+return
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Functions/checking_the_landmarks.m b/ShoulderModel/Visualisation_Functions/checking_the_landmarks.m
new file mode 100755
index 0000000..f68e6d8
--- /dev/null
+++ b/ShoulderModel/Visualisation_Functions/checking_the_landmarks.m
@@ -0,0 +1,106 @@
+function checking_the_landmarks
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = [ 56.6771; -69.2782; 72.7629]; % Sternoclaviuclar joint
+%SC= [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = [ -82.2127; -25.2576; 148.444]; % Sternoclaviuclar joint
+%AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+GH = [ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+HU = [ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint= 0.5(EM+EL)
+TS = [ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+AI = [ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+AA = [ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+EL = [ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+EM = [ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+%CP = [ -117.9780; 20.2045; -201.1550]; %Capitulum center
+%CP = [-1.119019088745117e+002 2.951757049560547e+001 -2.114102478027344e+002]';
+CP_r = [-1.162884872079883e+02;-50.987791082214290;-2.133781068022996e+02];
+t = ((EM(1)-EL(1))*CP_r(1) + (EM(2)-EL(2))*CP_r(2) + (EM(3)-EL(3))*CP_r(3) - (EM(1)-EL(1))*EM(1) - (EM(2)-EL(2))*EM(2) - (EM(3)-EL(3))*EM(3))...
+ /((EM(1)-EL(1))^2 + (EM(2)-EL(2))^2 + (EM(3)-EL(3))^2);
+
+CP = [EM(1) - (EL(1)-EM(1))*t; EM(2) - (EL(2)-EM(2))*t; EM(3) - (EL(3)-EM(3))*t];
+%US = [ -119.1449; -32.0329; -459.3816]; %Ulna Styloid
+US = [-8.111890411376953e+001 -1.277923679351807e+001 -4.723002319335938e+002]';
+
+%RS = [ -80.0832; -17.1580; -471.3330]; %Radius Styloid
+RS = [-1.216534347534180e+002 -1.614651107788086e+001 -4.654623413085938e+002 ]';
+
+Thorax = [IJ, PX, T8, C7, IJ];
+Clavicula = [SC, AC];
+Scapula = [AC, AA, TS, AI, AC];
+Humerus = [GH, HU, EL, EM];
+Ulna = [CP, EM, US];
+Radius = [CP, RS];
+figure
+hold on
+plot3(Thorax(1,:),...
+ Thorax(2,:),...
+ Thorax(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+plot3(Clavicula(1,:),...
+ Clavicula(2,:),...
+ Clavicula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+plot3(Scapula(1,:),...
+ Scapula(2,:),...
+ Scapula(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+ plot3(Humerus(1,:),...
+ Humerus(2,:),...
+ Humerus(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+ plot3(Ulna(1,:),...
+ Ulna(2,:),...
+ Ulna(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+ plot3(Radius(1,:),...
+ Radius(2,:),...
+ Radius(3,:),...
+ 'color', 'black',...
+ 'linewidth', 2,...
+ 'marker', 'o',...
+ 'markerfacecolor', 'red',...
+ 'markeredgecolor', 'red');
+
+PointsCoordinate = [IJ PX T8 C7 SC AC GH HU TS...
+ AI AA EL EM CP US RS];
+
+PointsTitle = ['IJ';'PX';'T8';'C7';'SC';'AC';'GH';'HU';
+ 'TS';'AI';'AA';'EL';'EM';'CP';'US';'RS'];
+
+
+for i = 1:size(PointsCoordinate,2)
+text(PointsCoordinate(1,i),PointsCoordinate(2,i),PointsCoordinate(3,i),...
+ strcat(' ',PointsTitle(i,:)),'color',...
+ 'b','fontsize',26,'fontweight','bold','HorizontalAlignment','left')
+end
+
+return
+
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh0.mat
new file mode 100755
index 0000000..5efe4fd
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh_2.mat b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh_2.mat
new file mode 100755
index 0000000..55fa096
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Mesh_2.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Meshold.mat b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Meshold.mat
new file mode 100755
index 0000000..1fcf069
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Clavicula_Meshold.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try1.mat b/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try1.mat
new file mode 100755
index 0000000..8994bfa
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try1.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try2.mat b/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try2.mat
new file mode 100755
index 0000000..09778fd
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Hand_Mesh_Try2.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Humerus_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Humerus_Mesh0.mat
new file mode 100755
index 0000000..104c51f
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Humerus_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmarkOld.m b/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmarkOld.m
new file mode 100755
index 0000000..3e5f38b
--- /dev/null
+++ b/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmarkOld.m
@@ -0,0 +1,274 @@
+function BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+% Function to initialise the bony landmark dataset
+%--------------------------------------------------------------------------
+% Syntax :
+% BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram
+%
+% File Description :
+% This function generates the initial bony landmark data structure. There
+% are three important sub parts of the data structure.
+% 1) Original Data from the AMIRA data set. Raw from collection.
+% 2) Initial Data, this can be changed by the initial configuration
+% 3) Current Data, this is used when working with motion.
+%
+% Data Structure Format :
+% Original Data from the CHUV dataset
+% BLDATA.Original_Points.IJ
+% BLDATA.Original_Points.PX
+% BLDATA.Original_Points.T8
+% BLDATA.Original_Points.C7
+% BLDATA.Original_Points.SC
+% BLDATA.Original_Points.AC
+% BLDATA.Original_Points.AA
+% BLDATA.Original_Points.TS
+% BLDATA.Original_Points.AI
+% BLDATA.Original_Points.GH
+% BLDATA.Original_Points.HU
+% BLDATA.Original_Points.EL
+% BLDATA.Original_Points.EM
+% BLDATA.Original_WFBones.Thorax
+% BLDATA.Original_WFBones.Clavicula
+% BLDATA.Original_WFBones.Scapula
+% BLDATA.Original_WFBones.Humerus
+% BLDATA.Original_Matrices_L2A.Rc
+% BLDATA.Original_Matrices_L2A.Rs
+% BLDATA.Original_Matrices_L2A.Rh
+%
+% The user can define a new initial configuration
+% BLDATA.Initial_Points.IJ
+% BLDATA.Initial_Points.PX
+% BLDATA.Initial_Points.T8
+% BLDATA.Initial_Points.C7
+% BLDATA.Initial_Points.SC
+% BLDATA.Initial_Points.AC
+% BLDATA.Initial_Points.AA
+% BLDATA.Initial_Points.TS
+% BLDATA.Initial_Points.AI
+% BLDATA.Initial_Points.GH
+% BLDATA.Initial_Points.HU
+% BLDATA.Initial_Points.EL
+% BLDATA.Initial_Points.EM
+% BLDATA.Initial_WFBones.Thorax
+% BLDATA.Initial_WFBones.Clavicula
+% BLDATA.Initial_WFBones.Scapula
+% BLDATA.Initial_WFBones.Humerus
+% BLDATA.Initial_Matrices_L2A.Rc
+% BLDATA.Initial_Matrices_L2A.Rs
+% BLDATA.Initial_Matrices_L2A.Rh
+%
+% AMIRA -> MATLAB transformation required to initialise the muscle data
+% BLDATA.Amira_to_MATLAB.Rt
+% BLDATA.Amira_to_MATLAB.IJ
+%
+% Current location of landmarks used visualise the motion
+% BLDATA.Current_Points.IJ
+% BLDATA.Current_Points.PX
+% BLDATA.Current_Points.T8
+% BLDATA.Current_Points.C7
+% BLDATA.Current_Points.SC
+% BLDATA.Current_Points.AC
+% BLDATA.Current_Points.AA
+% BLDATA.Current_Points.TS
+% BLDATA.Current_Points.AI
+% BLDATA.Current_Points.GH
+% BLDATA.Current_Points.HU
+% BLDATA.Current_Points.EL
+% BLDATA.Current_Points.EM
+% BLDATA.Current_WFBones.Thorax
+% BLDATA.Current_WFBones.Clavicula
+% BLDATA.Current_WFBones.Scapula
+% BLDATA.Current_WFBones.Humerus
+% BLDATA.Current_Matrices_L2A.Rc
+% BLDATA.Current_Matrices_L2A.Rs
+% BLDATA.Current_Matrices_L2A.Rh
+%
+% Garner & Pandy Scapular reference frame to compare moment arms and
+% validate
+% BLDATA.Original_GnP.Rs
+% BLDATA.Initial_GnP.Rs
+% BLDATA.Current_GnP.Rs
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+BLDATA = [];
+
+%--------------------------------------------------------------------------
+% BONY LANDMARKS IN AMIRA REFERENCE FRAME
+%--------------------------------------------------------------------------
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+GH = [ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+HU = [ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint
+TS = [ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+AI = [ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+AA = [ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+EL = [ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+EM = [ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+
+%--------------------------------------------------------------------------
+% BUILD AMIRA TO MATLAB HOMOGENEOUS TRANFORMATION & TRANSFORM ALL POINTS
+%--------------------------------------------------------------------------
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]';
+
+% Homogeneous transformation Matrix
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+%--------------------------------------------------------------------------
+% SAVE THE AMIRA TO MATLAB HOMEGENEOUS TRANSFORMATON
+%--------------------------------------------------------------------------
+BLDATA.Amira_to_MATLAB.Rt = R_am;
+BLDATA.Amira_to_MATLAB.IJ = IJ;
+
+
+% Transform all points to MATLAB reference frame
+IJ = H_am*[IJ; 1]; IJ = IJ(1:3,1);
+PX = H_am*[PX; 1]; PX = PX(1:3,1);
+T8 = H_am*[T8; 1]; T8 = T8(1:3,1);
+C7 = H_am*[C7; 1]; C7 = C7(1:3,1);
+SC = H_am*[SC; 1]; SC = SC(1:3,1);
+AC = H_am*[AC; 1]; AC = AC(1:3,1);
+GH = H_am*[GH; 1]; GH = GH(1:3,1);
+HU = H_am*[HU; 1]; HU = HU(1:3,1);
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+AA = H_am*[AA; 1]; AA = AA(1:3,1);
+EL = H_am*[EL; 1]; EL = EL(1:3,1);
+EM = H_am*[EM; 1]; EM = EM(1:3,1);
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONE REFERENCE FRAME ROTATION MATRICES
+%--------------------------------------------------------------------------
+
+% Clavicula Rotation Matrix
+Xc = AC - SC; Xc = Xc/norm(Xc);
+Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+% Scapula Rotation Matrix
+Xs = AA - TS; Xs = Xs/norm(Xs);
+Ys = cross(Xs, AI - TS); Ys = Ys/norm(Ys);
+Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+% Humerus Rotation Matrix
+Zh = GH - (EM + EL)/2; Zh = Zh/norm(Zh);
+Yh = cross(GH - EL, EL - EM); Yh = Yh/norm(Yh);
+Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+Rh = [Xh, Yh, Zh]; % Local -> absolute
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of points in the original configuration
+BLDATA.Original_Points.IJ = IJ;
+BLDATA.Original_Points.PX = PX;
+BLDATA.Original_Points.T8 = T8;
+BLDATA.Original_Points.C7 = C7;
+BLDATA.Original_Points.SC = SC;
+BLDATA.Original_Points.AC = AC;
+BLDATA.Original_Points.GH = GH;
+BLDATA.Original_Points.HU = HU;
+BLDATA.Original_Points.TS = TS;
+BLDATA.Original_Points.AI = AI;
+BLDATA.Original_Points.AA = AA;
+BLDATA.Original_Points.EL = EL;
+BLDATA.Original_Points.EM = EM;
+
+% Build the original bone wire frames for plotting purposes
+BLDATA.Original_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Original_WFBones.Clavicula = [SC, AC];
+BLDATA.Original_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Original_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Original Rotation Matrices
+BLDATA.Original_Matrices_L2A.Rc = Rc;
+BLDATA.Original_Matrices_L2A.Rs = Rs;
+BLDATA.Original_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD INITIAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% To start, both initial and current data is set to original.
+% List of Points in the current configuration
+BLDATA.Initial_Points.IJ = IJ;
+BLDATA.Initial_Points.PX = PX;
+BLDATA.Initial_Points.T8 = T8;
+BLDATA.Initial_Points.C7 = C7;
+BLDATA.Initial_Points.SC = SC;
+BLDATA.Initial_Points.AC = AC;
+BLDATA.Initial_Points.GH = GH;
+BLDATA.Initial_Points.HU = HU;
+BLDATA.Initial_Points.TS = TS;
+BLDATA.Initial_Points.AI = AI;
+BLDATA.Initial_Points.AA = AA;
+BLDATA.Initial_Points.EL = EL;
+BLDATA.Initial_Points.EM = EM;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Initial_WFBones.Clavicula = [SC, AC];
+BLDATA.Initial_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Initial_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Initial Rotation Matrices
+BLDATA.Initial_Matrices_L2A.Rc = Rc;
+BLDATA.Initial_Matrices_L2A.Rs = Rs;
+BLDATA.Initial_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD CURRENT BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of Points in the current configuration
+BLDATA.Current_Points.IJ = IJ;
+BLDATA.Current_Points.PX = PX;
+BLDATA.Current_Points.T8 = T8;
+BLDATA.Current_Points.C7 = C7;
+BLDATA.Current_Points.SC = SC;
+BLDATA.Current_Points.AC = AC;
+BLDATA.Current_Points.GH = GH;
+BLDATA.Current_Points.HU = HU;
+BLDATA.Current_Points.TS = TS;
+BLDATA.Current_Points.AI = AI;
+BLDATA.Current_Points.AA = AA;
+BLDATA.Current_Points.EL = EL;
+BLDATA.Current_Points.EM = EM;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Current_WFBones.Clavicula = [SC, AC];
+BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Current Rotation Matrices
+BLDATA.Current_Matrices_L2A.Rc = Rc;
+BLDATA.Current_Matrices_L2A.Rs = Rs;
+BLDATA.Current_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD THE GARNER & PANDY SCAPULAR ROTATION MATRIX
+%--------------------------------------------------------------------------
+% Define the Garner & Pandy Scapular Reference frame
+Zaxis = AC - GH; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, AC - TS); Yaxis = Yaxis/norm(Yaxis);
+Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+Rgnp = [Xaxis, Yaxis, Zaxis];
+BLDATA.Original_GnP.Rs = Rgnp;
+BLDATA.Initial_GnP.Rs = Rgnp;
+BLDATA.Current_GnP.Rs = Rgnp;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmark_vis.m b/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmark_vis.m
new file mode 100755
index 0000000..703bcaf
--- /dev/null
+++ b/ShoulderModel/Visualisation_Original_Meshings/MAIN_INITIALISATION_build_data_bony_landmark_vis.m
@@ -0,0 +1,276 @@
+function BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+% Function to initialise the bony landmark dataset
+%--------------------------------------------------------------------------
+% Syntax :
+% BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+%--------------------------------------------------------------------------
+%
+% EPFL - LA - LBO SHOULDER MODEL
+% Created by : David Ingram
+%
+% File Description :
+% This function generates the initial bony landmark data structure. There
+% are three important sub parts of the data structure.
+% 1) Original Data from the AMIRA data set. Raw from collection.
+% 2) Initial Data, this can be changed by the initial configuration
+% 3) Current Data, this is used when working with motion.
+%
+% Data Structure Format :
+% Original Data from the CHUV dataset
+% BLDATA.Original_Points.IJ
+% BLDATA.Original_Points.PX
+% BLDATA.Original_Points.T8
+% BLDATA.Original_Points.C7
+% BLDATA.Original_Points.SC
+% BLDATA.Original_Points.AC
+% BLDATA.Original_Points.AA
+% BLDATA.Original_Points.TS
+% BLDATA.Original_Points.AI
+% BLDATA.Original_Points.GH
+% BLDATA.Original_Points.HU
+% BLDATA.Original_Points.EL
+% BLDATA.Original_Points.EM
+% BLDATA.Original_WFBones.Thorax
+% BLDATA.Original_WFBones.Clavicula
+% BLDATA.Original_WFBones.Scapula
+% BLDATA.Original_WFBones.Humerus
+% BLDATA.Original_Matrices_L2A.Rc
+% BLDATA.Original_Matrices_L2A.Rs
+% BLDATA.Original_Matrices_L2A.Rh
+%
+% The user can define a new initial configuration
+% BLDATA.Initial_Points.IJ
+% BLDATA.Initial_Points.PX
+% BLDATA.Initial_Points.T8
+% BLDATA.Initial_Points.C7
+% BLDATA.Initial_Points.SC
+% BLDATA.Initial_Points.AC
+% BLDATA.Initial_Points.AA
+% BLDATA.Initial_Points.TS
+% BLDATA.Initial_Points.AI
+% BLDATA.Initial_Points.GH
+% BLDATA.Initial_Points.HU
+% BLDATA.Initial_Points.EL
+% BLDATA.Initial_Points.EM
+% BLDATA.Initial_WFBones.Thorax
+% BLDATA.Initial_WFBones.Clavicula
+% BLDATA.Initial_WFBones.Scapula
+% BLDATA.Initial_WFBones.Humerus
+% BLDATA.Initial_Matrices_L2A.Rc
+% BLDATA.Initial_Matrices_L2A.Rs
+% BLDATA.Initial_Matrices_L2A.Rh
+%
+% AMIRA -> MATLAB transformation required to initialise the muscle data
+% BLDATA.Amira_to_MATLAB.Rt
+% BLDATA.Amira_to_MATLAB.IJ
+%
+% Current location of landmarks used visualise the motion
+% BLDATA.Current_Points.IJ
+% BLDATA.Current_Points.PX
+% BLDATA.Current_Points.T8
+% BLDATA.Current_Points.C7
+% BLDATA.Current_Points.SC
+% BLDATA.Current_Points.AC
+% BLDATA.Current_Points.AA
+% BLDATA.Current_Points.TS
+% BLDATA.Current_Points.AI
+% BLDATA.Current_Points.GH
+% BLDATA.Current_Points.HU
+% BLDATA.Current_Points.EL
+% BLDATA.Current_Points.EM
+% BLDATA.Current_WFBones.Thorax
+% BLDATA.Current_WFBones.Clavicula
+% BLDATA.Current_WFBones.Scapula
+% BLDATA.Current_WFBones.Humerus
+% BLDATA.Current_Matrices_L2A.Rc
+% BLDATA.Current_Matrices_L2A.Rs
+% BLDATA.Current_Matrices_L2A.Rh
+%
+% Garner & Pandy Scapular reference frame to compare moment arms and
+% validate
+% BLDATA.Original_GnP.Rs
+% BLDATA.Initial_GnP.Rs
+% BLDATA.Current_GnP.Rs
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+BLDATA = [];
+
+%--------------------------------------------------------------------------
+% BONY LANDMARKS IN AMIRA REFERENCE FRAME
+%--------------------------------------------------------------------------
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = [ 56.6771; -69.2782; 72.7629]; % Sternoclaviuclar joint
+%SC= [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = [ -82.2127; -25.2576; 148.444]; % Sternoclaviuclar joint
+%AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+GH = [ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+HU = [ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint
+TS = [ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+AI = [ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+AA = [ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+EL = [ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+EM = [ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+
+%--------------------------------------------------------------------------
+% BUILD AMIRA TO MATLAB HOMOGENEOUS TRANFORMATION & TRANSFORM ALL POINTS
+%--------------------------------------------------------------------------
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]';
+
+% Homogeneous transformation Matrix
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+%--------------------------------------------------------------------------
+% SAVE THE AMIRA TO MATLAB HOMEGENEOUS TRANSFORMATON
+%--------------------------------------------------------------------------
+BLDATA.Amira_to_MATLAB.Rt = R_am;
+BLDATA.Amira_to_MATLAB.IJ = IJ;
+
+
+% Transform all points to MATLAB reference frame
+IJ = H_am*[IJ; 1]; IJ = IJ(1:3,1);
+PX = H_am*[PX; 1]; PX = PX(1:3,1);
+T8 = H_am*[T8; 1]; T8 = T8(1:3,1);
+C7 = H_am*[C7; 1]; C7 = C7(1:3,1);
+SC = H_am*[SC; 1]; SC = SC(1:3,1);
+AC = H_am*[AC; 1]; AC = AC(1:3,1);
+GH = H_am*[GH; 1]; GH = GH(1:3,1);
+HU = H_am*[HU; 1]; HU = HU(1:3,1);
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+AA = H_am*[AA; 1]; AA = AA(1:3,1);
+EL = H_am*[EL; 1]; EL = EL(1:3,1);
+EM = H_am*[EM; 1]; EM = EM(1:3,1);
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONE REFERENCE FRAME ROTATION MATRICES
+%--------------------------------------------------------------------------
+
+% Clavicula Rotation Matrix
+Xc = AC - SC; Xc = Xc/norm(Xc);
+Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+% Scapula Rotation Matrix
+Xs = AA - TS; Xs = Xs/norm(Xs);
+Ys = cross(Xs, AI - TS); Ys = Ys/norm(Ys);
+Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+% Humerus Rotation Matrix
+Zh = GH - (EM + EL)/2; Zh = Zh/norm(Zh);
+Yh = cross(GH - EL, EL - EM); Yh = Yh/norm(Yh);
+Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+Rh = [Xh, Yh, Zh]; % Local -> absolute
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of points in the original configuration
+BLDATA.Original_Points.IJ = IJ;
+BLDATA.Original_Points.PX = PX;
+BLDATA.Original_Points.T8 = T8;
+BLDATA.Original_Points.C7 = C7;
+BLDATA.Original_Points.SC = SC;
+BLDATA.Original_Points.AC = AC;
+BLDATA.Original_Points.GH = GH;
+BLDATA.Original_Points.HU = HU;
+BLDATA.Original_Points.TS = TS;
+BLDATA.Original_Points.AI = AI;
+BLDATA.Original_Points.AA = AA;
+BLDATA.Original_Points.EL = EL;
+BLDATA.Original_Points.EM = EM;
+
+% Build the original bone wire frames for plotting purposes
+BLDATA.Original_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Original_WFBones.Clavicula = [SC, AC];
+BLDATA.Original_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Original_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Original Rotation Matrices
+BLDATA.Original_Matrices_L2A.Rc = Rc;
+BLDATA.Original_Matrices_L2A.Rs = Rs;
+BLDATA.Original_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD INITIAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% To start, both initial and current data is set to original.
+% List of Points in the current configuration
+BLDATA.Initial_Points.IJ = IJ;
+BLDATA.Initial_Points.PX = PX;
+BLDATA.Initial_Points.T8 = T8;
+BLDATA.Initial_Points.C7 = C7;
+BLDATA.Initial_Points.SC = SC;
+BLDATA.Initial_Points.AC = AC;
+BLDATA.Initial_Points.GH = GH;
+BLDATA.Initial_Points.HU = HU;
+BLDATA.Initial_Points.TS = TS;
+BLDATA.Initial_Points.AI = AI;
+BLDATA.Initial_Points.AA = AA;
+BLDATA.Initial_Points.EL = EL;
+BLDATA.Initial_Points.EM = EM;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Initial_WFBones.Clavicula = [SC, AC];
+BLDATA.Initial_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Initial_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Initial Rotation Matrices
+BLDATA.Initial_Matrices_L2A.Rc = Rc;
+BLDATA.Initial_Matrices_L2A.Rs = Rs;
+BLDATA.Initial_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD CURRENT BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of Points in the current configuration
+BLDATA.Current_Points.IJ = IJ;
+BLDATA.Current_Points.PX = PX;
+BLDATA.Current_Points.T8 = T8;
+BLDATA.Current_Points.C7 = C7;
+BLDATA.Current_Points.SC = SC;
+BLDATA.Current_Points.AC = AC;
+BLDATA.Current_Points.GH = GH;
+BLDATA.Current_Points.HU = HU;
+BLDATA.Current_Points.TS = TS;
+BLDATA.Current_Points.AI = AI;
+BLDATA.Current_Points.AA = AA;
+BLDATA.Current_Points.EL = EL;
+BLDATA.Current_Points.EM = EM;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Current_WFBones.Clavicula = [SC, AC];
+BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+
+% Current Rotation Matrices
+BLDATA.Current_Matrices_L2A.Rc = Rc;
+BLDATA.Current_Matrices_L2A.Rs = Rs;
+BLDATA.Current_Matrices_L2A.Rh = Rh;
+
+%--------------------------------------------------------------------------
+% BUILD THE GARNER & PANDY SCAPULAR ROTATION MATRIX
+%--------------------------------------------------------------------------
+% Define the Garner & Pandy Scapular Reference frame
+Zaxis = AC - GH; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, AC - TS); Yaxis = Yaxis/norm(Yaxis);
+Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+Rgnp = [Xaxis, Yaxis, Zaxis];
+BLDATA.Original_GnP.Rs = Rgnp;
+BLDATA.Initial_GnP.Rs = Rgnp;
+BLDATA.Current_GnP.Rs = Rgnp;
+
+return;
\ No newline at end of file
diff --git a/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh.m b/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh.m
new file mode 100755
index 0000000..0635e8e
--- /dev/null
+++ b/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh.m
@@ -0,0 +1,132 @@
+clc; clear all; close all;
+
+% few lines to transform the stl file to the bone fixed frame
+% one need to first run the first few parts of the code to have the
+% rotation matrices and the bony landmarks neccessary for these
+% transfromations.
+
+% transform the points from Amira frame to the Matlab fram
+
+Current_Folder = pwd;
+load([Current_Folder, '/Visualisation_Original_Meshings/Ulna_Mesh_Try3']);
+load([Current_Folder, '/Visualisation_Original_Meshings/Radius_Mesh_Try3']);
+
+Ulna_Mesh_Try1.points = Ulna_Mesh_Try3.points;
+Ulna_Mesh_Try1.tri = Ulna_Mesh_Try3.tri;
+
+Radius_Mesh_Try1.points = Radius_Mesh_Try3.points;
+Radius_Mesh_Try1.tri = Radius_Mesh_Try3.tri;
+
+P_yasmine_correction = [9.37 -116.5 116.3]';
+IJ = BLDATA.Amira_to_MATLAB.IJ - P_yasmine_correction; % origin of the Matlab frame, the Amira frame is the zero 10 -90 120
+
+n_yas = [-0.98 0 -0.18]'; n_yas = n_yas/norm(n_yas);
+theta_yas = 12.4;
+
+R_yasmine_correction = [n_yas(1)*n_yas(1)*(1-cosd(theta_yas))+cosd(theta_yas) n_yas(1)*n_yas(2)*(1-cosd(theta_yas))-n_yas(3)*sind(theta_yas) n_yas(1)*n_yas(3)*(1-cosd(theta_yas))-n_yas(2)*sind(theta_yas);
+ n_yas(1)*n_yas(2)*(1-cosd(theta_yas))+n_yas(3)*sind(theta_yas) n_yas(2)*n_yas(2)*(1-cosd(theta_yas))+cosd(theta_yas) n_yas(2)*n_yas(3)*(1-cosd(theta_yas))-n_yas(1)*sind(theta_yas);
+ n_yas(1)*n_yas(3)*(1-cosd(theta_yas))-n_yas(2)*sind(theta_yas) n_yas(2)*n_yas(3)*(1-cosd(theta_yas))+n_yas(1)*sind(theta_yas) n_yas(3)*n_yas(3)*(1-cosd(theta_yas))+cosd(theta_yas)];
+
+R_am = BLDATA.Amira_to_MATLAB.Rt*R_yasmine_correction'; % Rotation matrix from Amira to MATLAB
+
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from Amira to Matlab
+
+for i = 1:1:size(Ulna_Mesh_Try1.points,1)
+
+ Transformed_point_ulna1(:,i) = H_am*[Ulna_Mesh_Try1.points(i,:), 1]';
+ Ulna_Mesh_Try2.points(i,:) = Transformed_point_ulna1(1:3,i)';
+ Ulna_Mesh_Try2.tri = Ulna_Mesh_Try1.tri;
+
+end
+
+hold on
+trisurf(Ulna_Mesh_Try2.tri, Ulna_Mesh_Try2.points(:,1), Ulna_Mesh_Try2.points(:,2), Ulna_Mesh_Try2.points(:,3));
+
+
+for j = 1:1:size(Radius_Mesh_Try1.points,1)
+ Transformed_point_radius1(:,j) = H_am*[Radius_Mesh_Try1.points(j,:), 1]';
+ Radius_Mesh_Try2.points(j,:) = Transformed_point_radius1(1:3,j)';
+ Radius_Mesh_Try2.tri = Radius_Mesh_Try1.tri;
+
+end
+
+trisurf(Radius_Mesh_Try2.tri, Radius_Mesh_Try2.points(:,1), Radius_Mesh_Try2.points(:,2), Radius_Mesh_Try2.points(:,3));
+
+
+Ru = BLDATA.Original_Matrices_L2A.Ru';
+HU = BLDATA.Original_Points.HU;
+
+H_T2U = [[Ru, -Ru*HU]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from absolute to local frame
+
+Rr = BLDATA.Original_Matrices_L2A.Rr';
+CP = BLDATA.Original_Points.CP;
+
+H_T2R = [[Rr, -Rr*CP]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from absolute to local frame
+
+for i = 1:1:size(Ulna_Mesh_Try2.points,1)
+
+ Transformed_point_ulna2(:,i) = H_T2U*[Ulna_Mesh_Try2.points(i,:), 1]';
+ Ulna_Mesh_Try3.points(i,:) = Transformed_point_ulna2(1:3,i)';
+ Ulna_Mesh_Try3.tri = Ulna_Mesh_Try2.tri;
+end
+
+for j = 1:1:size(Radius_Mesh_Try2.points,1)
+
+ Transformed_point_radius2(:,j) = H_T2R*[Radius_Mesh_Try2.points(j,:), 1]';
+ Radius_Mesh_Try3.points(j,:) = Transformed_point_radius2(1:3,j)';
+ Radius_Mesh_Try3.tri = Radius_Mesh_Try2.tri;
+end
+
+Current_Folder = pwd;% pwd displays the MATLAB current folder.
+
+
+save([pwd, '/Visualisation_Original_Meshings/Ulna_Mesh_Try32'],'Ulna_Mesh_Try3');
+save([pwd, '/Visualisation_Original_Meshings/Radius_Mesh_Try32'],'Radius_Mesh_Try3');
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the older part of the code for checking visualization stuffs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+load Ulna_Mesh_Try1;%Clavicula_Mesh0
+%Clavicula_Mesh0 = Clavicula_Mesh;
+%Clavicula_Mesh0.points = [Clavicula_Mesh0.points(:,3), Clavicula_Mesh0.points(:,1), Clavicula_Mesh0.points(:,2)];
+%subplot(1,2,1)
+figure
+trisurf(Ulna_Mesh_Try2.tri, Ulna_Mesh_Try2.points(:,1), Ulna_Mesh_Try2.points(:,2), Ulna_Mesh_Try2.points(:,3));
+
+trisurf(Radius_Mesh0.tri, Radius_Mesh0.points(:,1), Radius_Mesh0.points(:,2), Radius_Mesh0.points(:,3));
+axis equal;
+hold on;
+stop
+% load Clavicula_Meshold;
+%
+% subplot(1,2,2)
+% trisurf(Clavicula_Mesh0.tri, Clavicula_Mesh0.points(:,1), Clavicula_Mesh0.points(:,2), Clavicula_Mesh0.points(:,3));
+% axis equal;
+% hold on;
+% R = [cos(pi/40), 0, -sin(pi/40);
+% 0, 1, 0;
+% sin(pi/40), 0, cos(pi/40)];
+% Rz = [cos(2*pi/180), -sin(2*pi/180), 0;
+% sin(2*pi/180), cos(2*pi/180), 0;
+% 0, 0, 1];
+% points = Rz'*Clavicula_Mesh0.points';
+% points = points';
+% trisurf(Clavicula_Mesh0.tri, points(:,1), points(:,2), points(:,3), 'facecolor', 'blue');
+% axis equal;
+BLDATA = MAIN_INITIALISATION_build_data_bony_landmark;
+BLDATAOld = MAIN_INITIALISATION_build_data_bony_landmarkOld;
+SC = BLDATA.Original_Points.SC;
+SCold = BLDATAOld.Original_Points.SC;
+
+dvec = SC-SCold;
+dvec = BLDATA.Original_Matrices_L2A.Rc'*dvec;
+dvec = dvec/1000;
+
+points = Clavicula_Mesh0.points' - diag(dvec)*ones(3,size(Clavicula_Mesh0.points,1));
+points = points';
+trisurf(Clavicula_Mesh0.tri, points(:,1), points(:,2), points(:,3));
+axis equal;
+plot3(dvec(1), dvec(2), dvec(3), 'marker', 'o', 'color', 'red', 'markersize', 12, 'markerfacecolor', 'red');
+%
+% Clavicula_Mesh0.points = points;
+% save Clavicula_Mesh0 Clavicula_Mesh0;
diff --git a/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh_hand.m b/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh_hand.m
new file mode 100755
index 0000000..820411e
--- /dev/null
+++ b/ShoulderModel/Visualisation_Original_Meshings/MESHING_check_mesh_hand.m
@@ -0,0 +1,161 @@
+
+% few lines to transform the stl file of the hand to the bone fixed frame
+% of the radius. one needs to first run the first few parts of the code to have the
+% rotation matrices and the bony landmarks neccessary for these
+% transfromations.
+
+% transform the points from Amira frame to the Matlab fram
+
+Current_Folder = pwd;
+load([Current_Folder, '/Visualisation_Original_Meshings/Hand_Mesh_Try1']);
+
+IJ = BLDATA.Amira_to_MATLAB.IJ; % origin of the Matlab frame, the Amira frame is the zero 10 -90 120
+
+R_am = BLDATA.Amira_to_MATLAB.Rt; % Rotation matrix from Amira to MATLAB
+
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from Amira to Matlab
+
+for i = 1:1:size(Hand_Mesh_Try1.points,1)
+
+ Transformed_point_hand1(:,i) = H_am*[Hand_Mesh_Try1.points(i,:), 1]';
+ Hand_Mesh_Try2.points(i,:) = Transformed_point_hand1(1:3,i)';
+ Hand_Mesh_Try2.tri = Hand_Mesh_Try1.tri;
+
+end
+hold on
+trisurf(Hand_Mesh_Try2.tri, Hand_Mesh_Try2.points(:,1), Hand_Mesh_Try2.points(:,2), Hand_Mesh_Try2.points(:,3));
+
+
+% Ru = BLDATA.Original_Matrices_L2A.Ru';
+% HU = BLDATA.Original_Points.HU;
+%
+% H_T2U = [[Ru, -Ru*HU]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from absolute to local frame
+
+Rr = BLDATA.Original_Matrices_L2A.Rr';
+CP = BLDATA.Original_Points.CP;
+
+H_T2R = [[Rr, -Rr*CP]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from absolute to local frame
+
+
+RS = BLDATA.Original_Points.RS;
+H_T2H = [[Rr, -Rr*RS]; [0, 0, 0, 1]];
+%
+% for i = 1:1:size(Ulna_Mesh_Try2.points,1)
+%
+% Transformed_point_ulna2(:,i) = H_T2U*[Ulna_Mesh_Try2.points(i,:), 1]';
+% Ulna_Mesh_Try3.points(i,:) = Transformed_point_ulna2(1:3,i)';
+% Ulna_Mesh_Try3.tri = Ulna_Mesh_Try2.tri;
+% end
+
+for j = 1:1:size(Hand_Mesh_Try2.points,1)
+
+ Transformed_point_hand2(:,j) = H_T2H*[Hand_Mesh_Try2.points(j,:), 1]';
+ Hand_Mesh_Try3.points(j,:) = Transformed_point_hand2(1:3,j)';
+ Hand_Mesh_Try3.tri = Hand_Mesh_Try2.tri;
+end
+
+Current_Folder = pwd;% pwd displays the MATLAB current folder.
+
+
+save([pwd, '/Visualisation_Original_Meshings/Hand_Mesh_Try32'],'Hand_Mesh_Try3');
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the older part of the code for checking visualization stuffs
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+load Ulna_Mesh_Try1;%Clavicula_Mesh0
+%Clavicula_Mesh0 = Clavicula_Mesh;
+%Clavicula_Mesh0.points = [Clavicula_Mesh0.points(:,3), Clavicula_Mesh0.points(:,1), Clavicula_Mesh0.points(:,2)];
+%subplot(1,2,1)
+hold on
+trisurf(Hand_Mesh_Try3.tri, Hand_Mesh_Try3.points(:,1), Hand_Mesh_Try3.points(:,2), Hand_Mesh_Try3.points(:,3));
+
+trisurf(Radius_Mesh0.tri, Radius_Mesh0.points(:,1), Radius_Mesh0.points(:,2), Radius_Mesh0.points(:,3));
+axis equal;
+hold on;
+stop
+% load Clavicula_Meshold;
+%
+% subplot(1,2,2)
+% trisurf(Clavicula_Mesh0.tri, Clavicula_Mesh0.points(:,1), Clavicula_Mesh0.points(:,2), Clavicula_Mesh0.points(:,3));
+% axis equal;
+% hold on;
+% R = [cos(pi/40), 0, -sin(pi/40);
+% 0, 1, 0;
+% sin(pi/40), 0, cos(pi/40)];
+% Rz = [cos(2*pi/180), -sin(2*pi/180), 0;
+% sin(2*pi/180), cos(2*pi/180), 0;
+% 0, 0, 1];
+% points = Rz'*Clavicula_Mesh0.points';
+% points = points';
+% trisurf(Clavicula_Mesh0.tri, points(:,1), points(:,2), points(:,3), 'facecolor', 'blue');
+% axis equal;
+BLDATA = MAIN_INITIALISATION_build_data_bony_landmark;
+BLDATAOld = MAIN_INITIALISATION_build_data_bony_landmarkOld;
+SC = BLDATA.Original_Points.SC;
+SCold = BLDATAOld.Original_Points.SC;
+
+dvec = SC-SCold;
+dvec = BLDATA.Original_Matrices_L2A.Rc'*dvec;
+dvec = dvec/1000;
+
+points = Clavicula_Mesh0.points' - diag(dvec)*ones(3,size(Clavicula_Mesh0.points,1));
+points = points';
+trisurf(Clavicula_Mesh0.tri, points(:,1), points(:,2), points(:,3));
+axis equal;
+plot3(dvec(1), dvec(2), dvec(3), 'marker', 'o', 'color', 'red', 'markersize', 12, 'markerfacecolor', 'red');
+%
+% Clavicula_Mesh0.points = points;
+% save Clavicula_Mesh0 Clavicula_Mesh0;
+%%
+
+Current_Folder = pwd;
+load([Current_Folder, '/Visualisation_Original_Meshings/Hand_Mesh_Try1']);
+
+points = Hand_Mesh_Try1.points;
+tri = Hand_Mesh_Try1.tri;
+
+correction_translation = [24.9268 -156.24 119.754]';
+IJ = BLDATA.Amira_to_MATLAB.IJ - correction_translation; % origin of the Matlab frame, the Amira frame is the zero 10 -90 120
+
+correction_direction_angle = [-1 1.54028e-06 -4.18706e-06]'; n_yas = correction_direction_angle/norm(correction_direction_angle);
+theta_yas = 12.0445;
+
+R_yasmine_correction = [n_yas(1)*n_yas(1)*(1-cosd(theta_yas))+cosd(theta_yas) n_yas(1)*n_yas(2)*(1-cosd(theta_yas))-n_yas(3)*sind(theta_yas) n_yas(1)*n_yas(3)*(1-cosd(theta_yas))-n_yas(2)*sind(theta_yas);
+ n_yas(1)*n_yas(2)*(1-cosd(theta_yas))+n_yas(3)*sind(theta_yas) n_yas(2)*n_yas(2)*(1-cosd(theta_yas))+cosd(theta_yas) n_yas(2)*n_yas(3)*(1-cosd(theta_yas))-n_yas(1)*sind(theta_yas);
+ n_yas(1)*n_yas(3)*(1-cosd(theta_yas))-n_yas(2)*sind(theta_yas) n_yas(2)*n_yas(3)*(1-cosd(theta_yas))+n_yas(1)*sind(theta_yas) n_yas(3)*n_yas(3)*(1-cosd(theta_yas))+cosd(theta_yas)];
+
+R_am = BLDATA.Amira_to_MATLAB.Rt*R_yasmine_correction'; % Rotation matrix from Amira to MATLAB
+
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]]; % Homogeneous transformation matrix from Amira to Matlab
+
+for i = 1:1:size(points,1)
+
+ Transformed_points(:,i) = H_am*[points(i,:), 1]';
+ Hand_Mesh_Try2.points(i,:) = Transformed_points(1:3,i)';
+ Hand_Mesh_Try2.tri = tri;
+
+end
+
+hold on
+trisurf(Hand_Mesh_Try2.tri, Hand_Mesh_Try2.points(:,1), Hand_Mesh_Try2.points(:,2), Hand_Mesh_Try2.points(:,3));
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/Visualisation_Original_Meshings/MESHING_generate_mesh.m b/ShoulderModel/Visualisation_Original_Meshings/MESHING_generate_mesh.m
new file mode 100755
index 0000000..23beec1
--- /dev/null
+++ b/ShoulderModel/Visualisation_Original_Meshings/MESHING_generate_mesh.m
@@ -0,0 +1,41 @@
+clc; clear all; close all;
+
+% CREATE ULNA MESH
+teta = linspace(0, 2*pi,50);
+z = linspace(-10, -300, 100);
+Points = [10, 0, -10];
+
+for i = 1:size(z,2)
+ for j = 1:size(teta,2)-1
+ Points = [Points; [5*cos(teta(1,j))+10, 5*sin(teta(1,j)), z(1,i)]];
+ end
+end
+Points = [Points; [10, 0, -300]];
+
+TRI = convhull(Points(:,1), Points(:,2), Points(:,3));
+
+Ulna_Mesh0.tri = TRI;
+Ulna_Mesh0.points = Points;
+
+save([pwd, '/Visualisation_Original_Meshings/Ulna_Mesh0']);
+
+% CREATE RADIUS MESH
+teta = linspace(0, 2*pi,50);
+z = linspace(-10, -300, 100);
+Points = [-13, 0, -10];
+
+for i = 1:size(z,2)
+ for j = 1:size(teta,2)-1
+ Points = [Points; [10*cos(teta(1,j))-13, 10*sin(teta(1,j)), z(1,i)]];
+ end
+end
+Points = [Points; [-13, 0, -300]];
+
+TRI = convhull(Points(:,1), Points(:,2), Points(:,3));
+
+Radius_Mesh0.tri = TRI;
+Radius_Mesh0.points = Points;
+
+save([pwd, '/Visualisation_Original_Meshings/Radius_Mesh0']);
+
+
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh0.mat
new file mode 100755
index 0000000..5c3aca3
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try1.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try1.mat
new file mode 100755
index 0000000..5d80dca
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try1.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3.mat
new file mode 100755
index 0000000..c5dd8f5
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try31.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try31.mat
new file mode 100755
index 0000000..c6ef5b8
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try31.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try32.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try32.mat
new file mode 100755
index 0000000..d7afa4c
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try32.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3_old.mat b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3_old.mat
new file mode 100755
index 0000000..34152f4
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Radius_Mesh_Try3_old.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Scapula_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Scapula_Mesh0.mat
new file mode 100755
index 0000000..e5a3de2
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Scapula_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Thorax_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Thorax_Mesh0.mat
new file mode 100755
index 0000000..3c1b677
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Thorax_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh0.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh0.mat
new file mode 100755
index 0000000..f8d32e3
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh0.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try1.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try1.mat
new file mode 100755
index 0000000..73df61f
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try1.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3.mat
new file mode 100755
index 0000000..3ddd823
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try31.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try31.mat
new file mode 100755
index 0000000..ec1499e
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try31.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try32.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try32.mat
new file mode 100755
index 0000000..77e5e2b
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try32.mat differ
diff --git a/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3_old.mat b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3_old.mat
new file mode 100755
index 0000000..c86a163
Binary files /dev/null and b/ShoulderModel/Visualisation_Original_Meshings/Ulna_Mesh_Try3_old.mat differ
diff --git a/ShoulderModel/scapula_coordinate_system/MAIN_INITIALISATION_build_data_bony_landmark.m b/ShoulderModel/scapula_coordinate_system/MAIN_INITIALISATION_build_data_bony_landmark.m
new file mode 100755
index 0000000..7b1b09c
--- /dev/null
+++ b/ShoulderModel/scapula_coordinate_system/MAIN_INITIALISATION_build_data_bony_landmark.m
@@ -0,0 +1,282 @@
+
+function BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+% Function to initialise the bony landmark dataset
+%--------------------------------------------------------------------------
+% Syntax :
+% BLDATA = MAIN_INITIALISATION_build_data_bony_landmark()
+%--------------------------------------------------------------------------
+%{
+File Description:
+
+This function includes the bony landmarks received from
+AMIRA and transforms them into BLDATA.Original_Points.
+It also:
+
+ 1- defines the rotation matrix from AMIRA to MATLAB:
+ BLDATA.Amira_to_MATLAB.Rt = R_am
+
+ 2- sets the initial and current points to the original points to
+ initialize the code.
+ BLDATA.Original_Points ----> BLDATA.Initial_Points
+ BLDATA.Original_Points ----> BLDATA.Current_Points
+
+ 3- defines the original rotation matrices of the bones fixed frames
+ and also sets the initial and current ones to original:
+ BLDATA.Original_Matrices_L2A,
+ BLDATA.Initial_Matrices_L2A,
+ BLDATA.Current_Matrices_L2A
+
+ 4- saves the points needed to plot the wireframes of the bones:
+ BLDATA.Original_WFBones,
+ BLDATA.Initial_WFBones,
+ BLDATA.Current_WFBones
+
+ Garner & Pandy Scapular reference frame to compare moment arms and
+ validate
+ BLDATA.Original_GnP.Rs
+ BLDATA.Initial_GnP.Rs
+ BLDATA.Current_GnP.Rs
+%}
+%--------------------------------------------------------------------------
+
+% Initialiase the Output
+BLDATA = [];
+
+
+%--------------------------------------------------------------------------
+% BONY LANDMARKS IN AMIRA REFERENCE FRAME
+%--------------------------------------------------------------------------
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+SC = [ 56.6771; -69.2782; 72.7629]; % Sternoclaviuclar joint
+%SC= [ 52.0511; -79.0859; 75.0302]; % Sternoclaviuclar joint
+AC = [ -82.2127; -25.2576; 148.444]; % Sternoclaviuclar joint
+%AC = [ -82.1051; -30.7575; 145.4510]; % Acromioclavicular joint
+GH = [ -86.1456; -31.7209; 107.6860]; % Glenohumeral joint
+HU = [ -103.7780; -33.3235; -205.8640]; % Humeroulnar joint= 0.5(EM+EL)
+TS = [ -0.9241; 52.0670; 121.3280]; % Trigonum Spinae
+AI = [ -6.7869; 50.3866; -4.7008]; % Angulus Inferior
+AA = [ -104.3290; -1.0350; 133.7840]; % Angulus Acromialis
+EL = [ -127.2850; -54.8861; -208.4960]; % Lateral epicondyle
+EM = [ -80.2709; -11.7610; -203.2320]; % Medial epicondyle
+%CP = [ -117.9780; 20.2045; -201.1550]; %Capitulum center
+CP = [ -119.7196; -47.9465; -207.6489]; %Capitulum center
+%US = [ -119.1449; -32.0329; -459.3816]; %Ulna Styloid
+%%%%US = [-8.112e+001; -1.278e+001; -4.720e+002]; %Ulna Styloid
+US = [-95.6657; -160.7194; -450.9589];
+%RS = [ -80.0832; -17.1580; -471.3330]; %Radius Styloid
+%%%%RS = [-1.217e+002; -1.615e+001; -4.655e+002 ];%Radius Styloid
+RS = [-62.2966; -134.5104; -464.3826];
+%--------------------------------------------------------------------------
+% BUILD AMIRA TO MATLAB HOMOGENEOUS TRANFORMATION & TRANSFORM ALL POINTS
+%--------------------------------------------------------------------------
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]'; %R_am=R_matlab', which means
+%R_matlab map the points in matlab to AMIRA. For instance if you think
+%about R_matlab*[1 0 0]' it returns the associated vector (point) related
+%to the x axis of matlab in amira. Obviously it will be the first column of
+%the R_matlab.
+
+% Homogeneous transformation Matrix which maps a point in AMIRA to matlab
+% coordinate system
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+%--------------------------------------------------------------------------
+% SAVE THE AMIRA TO MATLAB HOMEGENEOUS TRANSFORMATON
+%--------------------------------------------------------------------------
+BLDATA.Amira_to_MATLAB.Rt = R_am;
+BLDATA.Amira_to_MATLAB.IJ = IJ;
+
+% Transform all points to MATLAB reference frame and then get rid of the
+% homegeneous part
+IJ = H_am*[IJ; 1]; IJ = IJ(1:3,1);
+PX = H_am*[PX; 1]; PX = PX(1:3,1);
+T8 = H_am*[T8; 1]; T8 = T8(1:3,1);
+C7 = H_am*[C7; 1]; C7 = C7(1:3,1);
+SC = H_am*[SC; 1]; SC = SC(1:3,1);
+AC = H_am*[AC; 1]; AC = AC(1:3,1);
+GH = H_am*[GH; 1]; GH = GH(1:3,1);
+HU = H_am*[HU; 1]; HU = HU(1:3,1);
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+AA = H_am*[AA; 1]; AA = AA(1:3,1);
+EL = H_am*[EL; 1]; EL = EL(1:3,1);
+EM = H_am*[EM; 1]; EM = EM(1:3,1);
+CP = H_am*[CP; 1]; CP = CP(1:3,1);
+US = H_am*[US; 1]; US = US(1:3,1);
+RS = H_am*[RS; 1]; RS = RS(1:3,1);
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONE REFERENCE FRAME ROTATION MATRICES
+%--------------------------------------------------------------------------
+
+% Clavicula to Thorax Rotation Matrix
+Xc = AC - SC; Xc = Xc/norm(Xc);
+Yc = cross([0; 0; 1], Xc); Yc = Yc/norm(Yc);
+Zc = cross(Xc, Yc); Zc = Zc/norm(Zc);
+Rc = [Xc, Yc, Zc]; % Local -> absolute
+
+% Scapula to Thorax Rotation Matrix
+Xs = AA - TS; Xs = Xs/norm(Xs);
+Ys = cross(Xs, AI - TS); Ys = Ys/norm(Ys);
+Zs = cross(Xs, Ys); Zs = Zs/norm(Zs);
+Rs = [Xs, Ys, Zs]; % Local -> absolute
+
+% Humerus to Thorax Rotation Matrix
+Zh = GH - HU; Zh = Zh/norm(Zh);
+Yh = cross(GH - EL, EL - EM); Yh = Yh/norm(Yh);
+Xh = cross(Yh, Zh); Xh = Xh/norm(Xh);
+Rh = [Xh, Yh, Zh]; % Local -> absolute
+
+% Ulna to Thorax Rotation Matrix
+% first choice of segment coordinate for the Ulna
+% Zu = (EM + EL)/2 - US; Zu = Zu/norm(Zu);
+% Yu = cross(US - EL, EL - EM); Yu = Yu/norm(Yu);
+% Xu = cross(Yu, Zu); Xu = Xu/norm(Xu);
+% Ru = [Xu, Yu, Zu]; % Local -> absolute
+% second choice
+Xu = EL - HU; Xu = Xu/norm(Xu);
+Yu = cross(US - EL, EM - EL); Yu = Yu/norm(Yu);
+Zu = cross(Xu, Yu); Zu = Zu/norm(Zu);
+Ru = [Xu, Yu, Zu]; % Local -> absolute
+
+% Radius to Thorax Rotation Matrix
+Zr = CP - US; Zr = Zr/norm(Zr);
+Yr = cross(CP - RS, RS - US); Yr = Yr/norm(Yr);
+Xr = cross(Yr, Zr); Xr = Xr/norm(Xr);
+Rr = [Xr, Yr, Zr]; % Local -> absolute
+
+%--------------------------------------------------------------------------
+% BUILD ORIGINAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of points in the original configuration and in MATLAB frame
+
+BLDATA.Original_Points.IJ = IJ;
+BLDATA.Original_Points.PX = PX;
+BLDATA.Original_Points.T8 = T8;
+BLDATA.Original_Points.C7 = C7;
+BLDATA.Original_Points.SC = SC;
+BLDATA.Original_Points.AC = AC;
+BLDATA.Original_Points.GH = GH;
+BLDATA.Original_Points.HU = HU;
+BLDATA.Original_Points.TS = TS;
+BLDATA.Original_Points.AI = AI;
+BLDATA.Original_Points.AA = AA;
+BLDATA.Original_Points.EL = EL;
+BLDATA.Original_Points.EM = EM;
+BLDATA.Original_Points.CP = CP;
+BLDATA.Original_Points.US = US;
+BLDATA.Original_Points.RS = RS;
+
+% Build the original bone wire frames for plotting purposes
+BLDATA.Original_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Original_WFBones.Clavicula = [SC, AC];
+BLDATA.Original_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Original_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Original_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Original_WFBones.Radius = [CP, RS];
+
+
+% Original Rotation Matrices
+BLDATA.Original_Matrices_L2A.Rc = Rc;
+BLDATA.Original_Matrices_L2A.Rs = Rs;
+BLDATA.Original_Matrices_L2A.Rh = Rh;
+BLDATA.Original_Matrices_L2A.Ru = Ru;
+BLDATA.Original_Matrices_L2A.Rr = Rr;
+
+%--------------------------------------------------------------------------
+% BUILD INITIAL BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% To start, both initial and current data are set to original.
+% List of Points in the initial configuration
+BLDATA.Initial_Points.IJ = IJ;
+BLDATA.Initial_Points.PX = PX;
+BLDATA.Initial_Points.T8 = T8;
+BLDATA.Initial_Points.C7 = C7;
+BLDATA.Initial_Points.SC = SC;
+BLDATA.Initial_Points.AC = AC;
+BLDATA.Initial_Points.GH = GH;
+BLDATA.Initial_Points.HU = HU;
+BLDATA.Initial_Points.TS = TS;
+BLDATA.Initial_Points.AI = AI;
+BLDATA.Initial_Points.AA = AA;
+BLDATA.Initial_Points.EL = EL;
+BLDATA.Initial_Points.EM = EM;
+BLDATA.Initial_Points.CP = CP;
+BLDATA.Initial_Points.US = US;
+BLDATA.Initial_Points.RS = RS;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Initial_WFBones.Clavicula = [SC, AC];
+BLDATA.Initial_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Initial_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Initial_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Initial_WFBones.Radius = [CP, RS];
+
+% Initial Rotation Matrices
+BLDATA.Initial_Matrices_L2A.Rc = Rc;
+BLDATA.Initial_Matrices_L2A.Rs = Rs;
+BLDATA.Initial_Matrices_L2A.Rh = Rh;
+BLDATA.Initial_Matrices_L2A.Ru = Ru;
+BLDATA.Initial_Matrices_L2A.Rr = Rr;
+
+%--------------------------------------------------------------------------
+% BUILD CURRENT BONY LANDMARK DATA STRUCTURE
+%--------------------------------------------------------------------------
+% List of Points in the current configuration
+BLDATA.Current_Points.IJ = IJ;
+BLDATA.Current_Points.PX = PX;
+BLDATA.Current_Points.T8 = T8;
+BLDATA.Current_Points.C7 = C7;
+BLDATA.Current_Points.SC = SC;
+BLDATA.Current_Points.AC = AC;
+BLDATA.Current_Points.GH = GH;
+BLDATA.Current_Points.HU = HU;
+BLDATA.Current_Points.TS = TS;
+BLDATA.Current_Points.AI = AI;
+BLDATA.Current_Points.AA = AA;
+BLDATA.Current_Points.EL = EL;
+BLDATA.Current_Points.EM = EM;
+BLDATA.Current_Points.CP = CP;
+BLDATA.Current_Points.US = US;
+BLDATA.Current_Points.RS = RS;
+
+% Build the bone wire frames for plotting purposes
+BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+BLDATA.Current_WFBones.Clavicula = [SC, AC];
+BLDATA.Current_WFBones.Scapula = [AC, AA, TS, AI, GH, AC];
+BLDATA.Current_WFBones.Humerus = [GH, HU, EL, EM];
+BLDATA.Current_WFBones.Ulna = [CP, HU, EM, US];
+BLDATA.Current_WFBones.Radius = [CP, RS];
+
+% Current Rotation Matrices
+BLDATA.Current_Matrices_L2A.Rc = Rc;
+BLDATA.Current_Matrices_L2A.Rs = Rs;
+BLDATA.Current_Matrices_L2A.Rh = Rh;
+BLDATA.Current_Matrices_L2A.Ru = Ru;
+BLDATA.Current_Matrices_L2A.Rr = Rr;
+
+%--------------------------------------------------------------------------
+% BUILD THE GARNER & PANDY SCAPULAR ROTATION MATRIX
+%--------------------------------------------------------------------------
+% Define the Garner & Pandy Scapular Reference frame
+Zaxis = AC - GH; Zaxis = Zaxis/norm(Zaxis);
+Yaxis = cross(Zaxis, AC - TS); Yaxis = Yaxis/norm(Yaxis);
+Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+Rgnp = [Xaxis, Yaxis, Zaxis];
+BLDATA.Original_GnP.Rs = Rgnp;
+BLDATA.Initial_GnP.Rs = Rgnp;
+BLDATA.Current_GnP.Rs = Rgnp;
+
+% initialize glenoid fossa orientation for the subject specific toolbox
+BLDATA.Glenoid_Orientations = [7 4];
+BLDATA.Glenoid_Orientations_Unchanged = [7 4];% for the visualization we keep this to have the initial values unchanged to visualize
+
+return
\ No newline at end of file
diff --git a/ShoulderModel/scapula_coordinate_system/MAIN_TOOL_geometry_functions.m b/ShoulderModel/scapula_coordinate_system/MAIN_TOOL_geometry_functions.m
new file mode 100755
index 0000000..3f68268
--- /dev/null
+++ b/ShoulderModel/scapula_coordinate_system/MAIN_TOOL_geometry_functions.m
@@ -0,0 +1,750 @@
+function Output = MAIN_TOOL_geometry_functions(task, varargin)
+% Function containing all geometry related tasks.
+%{
+--------------------------------------------------------------------------
+Syntax :
+Output = MAIN_TOOL_geometry_functions(task, varargin)
+--------------------------------------------------------------------------
+
+File Description :
+This file contains all the routines related to geometry. These routines
+affect the intial and current geometric configuration of the model.
+
+This function can have multiple intputs depending on the task. However,
+the first input is always the desired to task to be performed. The list
+of tasks are as follows:
+
+ Task 1 : Build Rotation Matrices From Euler Angles
+ Task 2 : Get Euler Angles From Original Rotation Matrices
+ Task 3 : Get Euler Angles From Initial Rotation Matrices
+ Task 4 : Get Euler Angles From Current Rotation Matrices
+ Task 5 : Rotate Points From Local To Global Frame (Initial)
+ Task 6 : Rotate Points From Global To Local Frame (Initial)
+ Task 7 : Rotate Points From Local To Global Frame (Current)
+ Task 8 : Rotate Points From Global To Local Frame (Current)
+ Task 9 : Update Initial Bony Landmark Data from Joint Rotation Matrices
+ Task 10: Update Current Bony Landmark Data from Joint Rotation Matrices
+
+--------------------------------------------------------------------------
+%}
+% Initialise the Output
+Output = [];
+
+%--------------------------------------------------------------------------
+% TASK 1 : BUILD ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Joint Euler angles
+% Outputs :
+% A single array containing three joint rotation matrices [Rc, Rs, Rh]
+%--------------------------------------------------------------------------
+if isequal(task, 'Build Rotation Matrices From Euler Angles')
+
+ % Get the Joint Angles
+ JEA = varargin{1,1};% varargin is a 1-by-N cell array, where N is the number of inputs that the function receives after the explicitly declared inputs
+
+ BLDATA = varargin{1,2}; % lately added to feed in the BLDATA for the rotation matrices of the ulna and radius regarding their proximal segments
+
+ % Clavicula Rotation Matrix
+ Rcx = [1.00, 0.0000, 0.0000;
+ 0.00, cos(JEA(1)), -sin(JEA(1));
+ 0.00, sin(JEA(1)), cos(JEA(1))];
+
+ Rcy = [cos(JEA(2)), 0.00, -sin(JEA(2));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(2)), 0.00, cos(JEA(2))];
+
+ Rcz = [cos(JEA(3)), -sin(JEA(3)), 0.00;
+ sin(JEA(3)), cos(JEA(3)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rc = Rcz*Rcy'*Rcx;
+
+ % Scapula Rotation Matrix
+ Rsx = [1.00, 0.0000, 0.0000;
+ 0.00, cos(JEA(4)), -sin(JEA(4));
+ 0.00, sin(JEA(4)), cos(JEA(4))];
+
+ Rsy = [cos(JEA(5)), 0.00, -sin(JEA(5));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(5)), 0.00, cos(JEA(5))];
+
+ Rsz = [cos(JEA(6)), -sin(JEA(6)), 0.00;
+ sin(JEA(6)), cos(JEA(6)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rs = Rsz*Rsy'*Rsx;
+
+ % Humerus Rotation Matrix
+ Rhz = [cos(JEA(7)), -sin(JEA(7)), 0.00;
+ sin(JEA(7)), cos(JEA(7)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rhy = [cos(JEA(8)), 0.00, -sin(JEA(8));
+ 0.0000, 1.00, 0.0000;
+ sin(JEA(8)), 0.00, cos(JEA(8))];
+
+ Rhzz = [cos(JEA(9)), -sin(JEA(9)), 0.00;
+ sin(JEA(9)), cos(JEA(9)), 0.00;
+ 0.0000, 0.0000, 1.00];
+
+ Rh = Rhzz*Rhy'*Rhz;
+
+ %Ulna Rotation Matrix
+ Rux = [1.00, 0.00, 0.00;
+ 0.00, cos(JEA(10)), -sin(JEA(10));
+ 0.00, sin(JEA(10)), cos(JEA(10))];% ulna to the proximal segment part 1
+
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru; % ulna to the proximal segment part 1
+
+ Ru = Rh*Ru_h*Rux; % ulna to the inertial frame (thorax)
+
+ %Radius Rotation Matrix
+ Rrz = [cos(JEA(11)), -sin(JEA(11)), 0.00;
+ sin(JEA(11)), cos(JEA(11)), 0.00;
+ 0.00, 0.00, 1.00]; % radius to the proximal segment part 1
+
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr; % radius to the proximal segment part 2
+
+ Rr = Ru*Rr_u*Rrz; % radius to the inertial frame (thorax)
+
+ Output = [Rc, Rs, Rh, Ru, Rr];
+
+%--------------------------------------------------------------------------
+% TASK 2 : EXTRACT EULER ANGLES FROM ORIGINAL MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Original Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Original_Matrices_L2A.Rc;
+ Rs = BLDATA.Original_Matrices_L2A.Rs;
+ Rh = BLDATA.Original_Matrices_L2A.Rh;
+ Ru = BLDATA.Original_Matrices_L2A.Ru;
+ Rr = BLDATA.Original_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Ulna Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+
+ THETAr = atan2(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 3 : EXTRACT EULER ANGLES FROM INITIAL MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Initial Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+ %Rux=Rh'*Ru;
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Radius Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+ %Rrz=Ru'*Rr;
+ THETAr = atan2(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 4: EXTRACT EULER ANGLES FROM CURRENT MATRICES
+% Inputs :
+% 1) Task
+% 2) BLDATA : Bonylandmark data structure
+% Outputs :
+% A single array containing nine joint rotation angles
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Get Euler Angles From Current Rotation Matrices')
+
+ % Get the Rotation Matrices
+ BLDATA = varargin{1,1};
+
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ % Get Clavicula Euler Angles
+ THETAc = asin(-Rc(3,1)); % Elevation/Depression
+ PSIc = atan(Rc(3,2)/Rc(3,3)); % Axial Rotation
+ PHIc = atan(Rc(2,1)/Rc(1,1)); % Protraction/Retraction
+
+ % Get Scapula Euler Angles
+ THETAs = asin(-Rs(3,1)); % Elevation/Depression
+ PSIs = atan(Rs(3,2)/Rs(3,3)); % Spinal Tilt
+ PHIs = atan(Rs(2,1)/Rs(1,1)); % Protraction/Retraction
+
+ % Get Humerus Euler Angles
+ THETAh = acos(Rh(3,3)); % Abduction/Adduction
+ PSIh = atan2(Rh(3,2),-Rh(3,1)); % Axial Rotation
+ PHIh = atan2(Rh(2,3),Rh(1,3)); % Elevation Plane
+
+ % Get Ulna Euler Angles
+ Ru_h = BLDATA.Original_Matrices_L2A.Rh'*BLDATA.Original_Matrices_L2A.Ru;
+
+ Rux=Ru_h'*Rh'*Ru;
+ %Rux=Rh'*Ru;
+ THETAu = atan2(Rux(3,2),Rux(2,2)); % Flexion/Extension
+
+ % Get Ulna Euler Angles
+ Rr_u = BLDATA.Original_Matrices_L2A.Ru'*BLDATA.Original_Matrices_L2A.Rr;
+
+ Rrz = Rr_u'*Ru'*Rr;
+ %Rrz=Ru'*Rr;
+ THETAr = atan2d(Rrz(2,1),Rrz(1,1)); % Pronation/Supination
+
+ % Save The Euler Angles
+ Output = [PSIc, THETAc, PHIc, PSIs, THETAs, PHIs, PSIh, THETAh, PHIh, THETAu, THETAr];
+
+%--------------------------------------------------------------------------
+% TASK 5: ROTATE A SET OF POINTS INTO THE GLOBAL FRAME (INITIAL CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are defined
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Local To Global Frame (Initial)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Initial_Points.SC;
+ AA = BLDATA.Initial_Points.AA;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ CP = BLDATA.Initial_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = P(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc*Q(:,i) + SC;
+ elseif frameId == 2
+ Output(:,i) = Rs*Q(:,i) + AA;
+ elseif frameId == 3
+ Output(:,i) = Rh*Q(:,i) + GH;
+ elseif frameId == 4
+ Output(:,i) = Ru*Q(:,i) + HU;
+ elseif frameId == 5
+ Output(:,i) = Rr*Q(:,i) + CP;
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 6: ROTATE A SET OF POINTS INTO A LOCAL FRAME (INITIAL CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are to be transformed
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Global To Local Frame (Initial)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Initial_Matrices_L2A.Rc;
+ Rs = BLDATA.Initial_Matrices_L2A.Rs;
+ Rh = BLDATA.Initial_Matrices_L2A.Rh;
+ Ru = BLDATA.Initial_Matrices_L2A.Ru;
+ Rr = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Initial_Points.SC;
+ AA = BLDATA.Initial_Points.AA;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ CP = BLDATA.Initial_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc'*(Q(:,i) - SC);
+ elseif frameId == 2
+ Output(:,i) = Rs'*(Q(:,i) - AA);
+ elseif frameId == 3
+ Output(:,i) = Rh'*(Q(:,i) - GH);
+ elseif frameId == 4
+ Output(:,i) = Ru'*(Q(:,i) - HU);
+ elseif frameId == 5
+ Output(:,i) = Rr'*(Q(:,i) - CP);
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 7: ROTATE A SET OF POINTS INTO THE GLOBAL FRAME (CURRENT CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are defined
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Local To Global Frame (Current)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+ % Get the necessary bony landmarks
+ SC = BLDATA.Current_Points.SC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc*Q(:,i) + SC;
+ elseif frameId == 2
+ Output(:,i) = Rs*Q(:,i) + AA;
+ elseif frameId == 3
+ Output(:,i) = Rh*Q(:,i) + GH;
+ elseif frameId == 4
+ Output(:,i) = Ru*Q(:,i) + HU;
+ elseif frameId == 5
+ Output(:,i) = Rr*Q(:,i) + CP;
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 8: ROTATE A SET OF POINTS INTO A LOCAL FRAME (Current CONFIG)
+% Inputs :
+% 1) Task
+% 2) Q : The list of points (3 x n)
+% 3) BLDATA : Bonylandmark data structure
+% 4) frameId : local frame in which the points are to be transformed
+% Outputs :
+% A single (3 x n) array containing the transformed points
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Rotate Points From Global To Local Frame (Current)')
+ % Get the List of points
+ Q = varargin{1,1};
+
+ % Get the BLDATA structure
+ BLDATA = varargin{1,2};
+
+ % Get the Frame Identification
+ frameId = varargin{1,3};
+
+ % Initialise the output
+ Output = Q;
+
+ % Get the Current Rotation Matrices (Local -> Absolute)
+ Rc = BLDATA.Current_Matrices_L2A.Rc;
+ Rs = BLDATA.Current_Matrices_L2A.Rs;
+ Rh = BLDATA.Current_Matrices_L2A.Rh;
+ Ru = BLDATA.Current_Matrices_L2A.Ru;
+ Rr = BLDATA.Current_Matrices_L2A.Rr;
+
+ % Get the necessary bony landmarks
+ SC = BLDATA.Current_Points.SC;
+ AA = BLDATA.Current_Points.AA;
+ GH = BLDATA.Current_Points.GH;
+ HU = BLDATA.Current_Points.HU;
+ CP = BLDATA.Current_Points.CP;
+
+ % Rotate the set of points
+ for i = 1:size(Q,2)
+ % Transform point
+ if frameId == 0
+ Output(:,i) = Q(:,i);
+ elseif frameId == 1
+ Output(:,i) = Rc'*(Q(:,i) - SC);
+ elseif frameId == 2
+ Output(:,i) = Rs'*(Q(:,i) - AA);% why this point is AA?
+ elseif frameId == 3
+ Output(:,i) = Rh'*(Q(:,i) - GH);
+ elseif frameId == 4
+ Output(:,i) = Ru'*(Q(:,i) - HU);
+ elseif frameId == 5
+ Output(:,i) = Rr'*(Q(:,i) - CP);
+ else
+ % The wrong frame was provided
+ end
+ end
+%--------------------------------------------------------------------------
+% TASK 9: UPDATE BONY LANDMARK DATA FROM JOINT ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Rc : SC rotation matrix
+% 3) Rs : AC rotation matrix
+% 4) Rh : GH rotation matrix
+% 5) Ru : HU rotation matrix
+% 6) Rr : RU rotation matrix
+% 7) BLDATA : bonylandmark data
+% Outputs :
+% BLDATA : the bony landmark data with updated initial configuration
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Initial Bony Landmark Data from Joint Rotation Matrices')
+ % Get the SC joint rotation matrix
+ Rc = varargin{1,1};
+
+ % Get the AC joint rotation matrix
+ Rs = varargin{1,2};
+
+ % Get the GH joint rotation matrix
+ Rh = varargin{1,3};
+
+ % Get the HU joint rotation matrix
+ Ru = varargin{1,4};
+
+ % Get the RU joint rotation matrix
+ Rr = varargin{1,5};
+
+ % Get the BLDATA input
+ BLDATA = varargin{1,6};
+
+ % Get Initial Rotation Matrices
+ Rci = BLDATA.Original_Matrices_L2A.Rc;
+ Rsi = BLDATA.Original_Matrices_L2A.Rs;
+ Rhi = BLDATA.Original_Matrices_L2A.Rh;
+ Rui = BLDATA.Original_Matrices_L2A.Ru;
+ Rri = BLDATA.Original_Matrices_L2A.Rr;
+
+ % Ge all the points (these points are in the thorax frame i.e. matlab frame)
+ IJ = BLDATA.Original_Points.IJ;
+ PX = BLDATA.Original_Points.PX;
+ T8 = BLDATA.Original_Points.T8;
+ C7 = BLDATA.Original_Points.C7;
+ SC = BLDATA.Original_Points.SC;
+ AC = BLDATA.Original_Points.AC;
+ AA = BLDATA.Original_Points.AA;
+ TS = BLDATA.Original_Points.TS;
+ AI = BLDATA.Original_Points.AI;
+ GH = BLDATA.Original_Points.GH;
+ HU = BLDATA.Original_Points.HU;
+ EL = BLDATA.Original_Points.EL;
+ EM = BLDATA.Original_Points.EM;
+ CP = BLDATA.Original_Points.CP;
+ US = BLDATA.Original_Points.US;
+ RS = BLDATA.Original_Points.RS;
+
+ % Set the Points
+ BLDATA.Initial_Points.IJ = IJ;
+ BLDATA.Initial_Points.PX = PX;
+ BLDATA.Initial_Points.T8 = T8;
+ BLDATA.Initial_Points.C7 = C7;
+ BLDATA.Initial_Points.SC = SC;
+ BLDATA.Initial_Points.AC = Rc*Rci'*(AC - SC) + BLDATA.Initial_Points.SC;% Rci'*(AC - SC) is AC in Clavicle coordinate, so with the rotation matrix Rc we can define its new position in the inertial frame as such.
+ BLDATA.Initial_Points.AA = Rs*Rsi'*(AA - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.TS = Rs*Rsi'*(TS - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.AI = Rs*Rsi'*(AI - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.GH = Rs*Rsi'*(GH - AC) + BLDATA.Initial_Points.AC;
+ BLDATA.Initial_Points.HU = Rh*Rhi'*(HU - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.EL = Rh*Rhi'*(EL - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.EM = Rh*Rhi'*(EM - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.US = Ru*Rui'*(US - HU) + BLDATA.Initial_Points.HU;
+ BLDATA.Initial_Points.CP = Rh*Rhi'*(CP - GH) + BLDATA.Initial_Points.GH;
+ BLDATA.Initial_Points.RS = Rr*Rri'*(RS - CP) + BLDATA.Initial_Points.CP;
+
+ % Set the Rotation Matrices
+ BLDATA.Initial_Matrices_L2A.Rc = Rc;
+ BLDATA.Initial_Matrices_L2A.Rs = Rs;
+ BLDATA.Initial_Matrices_L2A.Rh = Rh;
+ BLDATA.Initial_Matrices_L2A.Ru = Ru;
+ BLDATA.Initial_Matrices_L2A.Rr = Rr;
+
+ % Set the wire frame bones
+ BLDATA.Initial_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+ BLDATA.Initial_WFBones.Clavicula = ...
+ [BLDATA.Initial_Points.SC,...
+ BLDATA.Initial_Points.AC];
+ BLDATA.Initial_WFBones.Scapula = ...
+ [BLDATA.Initial_Points.AC,...
+ BLDATA.Initial_Points.AA,...
+ BLDATA.Initial_Points.TS,...
+ BLDATA.Initial_Points.AI,...
+ BLDATA.Initial_Points.GH,...
+ BLDATA.Initial_Points.AC];
+ BLDATA.Initial_WFBones.Humerus =...
+ [BLDATA.Initial_Points.GH,...
+ BLDATA.Initial_Points.HU,...
+ BLDATA.Initial_Points.EL,...
+ BLDATA.Initial_Points.EM];
+ BLDATA.Initial_WFBones.Ulna =...
+ [BLDATA.Initial_Points.CP,...
+ BLDATA.Initial_Points.HU,...
+ BLDATA.Initial_Points.EM,...
+ BLDATA.Initial_Points.US];
+ BLDATA.Initial_WFBones.Radius =...
+ [BLDATA.Initial_Points.CP,...
+ BLDATA.Initial_Points.RS];
+
+ % Set the Garner and Pandy Scapular Rotation Matrix
+ Zaxis = BLDATA.Initial_Points.AC - BLDATA.Initial_Points.GH; Zaxis = Zaxis/norm(Zaxis);
+ Yaxis = cross(Zaxis, BLDATA.Initial_Points.AC - BLDATA.Initial_Points.TS); Yaxis = Yaxis/norm(Yaxis);
+ Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+ % Set the rotation matrix
+ BLDATA.Initial_GnP.Rs = [Xaxis, Yaxis, Zaxis];
+
+ % Set the output
+ Output = BLDATA;
+%--------------------------------------------------------------------------
+% TASK 10: UPDATE BONY LANDMARK DATA FROM JOINT ROTATION MATRICES
+% Inputs :
+% 1) Task
+% 2) Rc : SC rotation matrix
+% 3) Rs : AC rotation matrix
+% 4) Rh : GH rotation matrix
+% 5) Ru : HU rotation matrix
+% 6) Rr : RU rotation matrix
+% 7) BLDATA : bonylandmark data
+% Outputs :
+% BLDATA : the bony landmark data with updated current configuration
+%--------------------------------------------------------------------------
+elseif isequal(task, 'Update Current Bony Landmark Data from Joint Rotation Matrices')
+ % Get the SC joint rotation matrix
+ Rc = varargin{1,1};
+
+ % Get the AC joint rotation matrix
+ Rs = varargin{1,2};
+
+ % Get the GH joint rotation matrix
+ Rh = varargin{1,3};
+
+ % Get the HU joint rotation matrix
+ Ru = varargin{1,4};
+
+ % Get the RU joint rotation matrix
+ Rr = varargin{1,5};
+
+ % Get the BLDATA input
+ BLDATA = varargin{1,6};
+
+ % Get Initial Rotation Matrices
+ Rci = BLDATA.Initial_Matrices_L2A.Rc;
+ Rsi = BLDATA.Initial_Matrices_L2A.Rs;
+ Rhi = BLDATA.Initial_Matrices_L2A.Rh;
+ Rui = BLDATA.Initial_Matrices_L2A.Ru;
+ Rri = BLDATA.Initial_Matrices_L2A.Rr;
+
+ % Ge all the points
+ IJ = BLDATA.Initial_Points.IJ;
+ PX = BLDATA.Initial_Points.PX;
+ T8 = BLDATA.Initial_Points.T8;
+ C7 = BLDATA.Initial_Points.C7;
+ SC = BLDATA.Initial_Points.SC;
+ AC = BLDATA.Initial_Points.AC;
+ AA = BLDATA.Initial_Points.AA;
+ TS = BLDATA.Initial_Points.TS;
+ AI = BLDATA.Initial_Points.AI;
+ GH = BLDATA.Initial_Points.GH;
+ HU = BLDATA.Initial_Points.HU;
+ EL = BLDATA.Initial_Points.EL;
+ EM = BLDATA.Initial_Points.EM;
+ CP = BLDATA.Initial_Points.CP;
+ US = BLDATA.Initial_Points.US;
+ RS = BLDATA.Initial_Points.RS;
+
+ % Rotate all points
+ BLDATA.Current_Points.IJ = IJ;
+ BLDATA.Current_Points.PX = PX;
+ BLDATA.Current_Points.T8 = T8;
+ BLDATA.Current_Points.C7 = C7;
+ BLDATA.Current_Points.SC = SC;
+ BLDATA.Current_Points.AC = Rc*Rci'*(AC - SC) + SC;
+ BLDATA.Current_Points.AA = Rs*Rsi'*(AA - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.TS = Rs*Rsi'*(TS - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.AI = Rs*Rsi'*(AI - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.GH = Rs*Rsi'*(GH - AC) + BLDATA.Current_Points.AC;
+ BLDATA.Current_Points.HU = Rh*Rhi'*(HU - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.EL = Rh*Rhi'*(EL - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.EM = Rh*Rhi'*(EM - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.US = Ru*Rui'*(US - HU) + BLDATA.Current_Points.HU;
+ BLDATA.Current_Points.CP = Rh*Rhi'*(CP - GH) + BLDATA.Current_Points.GH;
+ BLDATA.Current_Points.RS = Rr*Rri'*(RS - CP) + BLDATA.Current_Points.CP;
+
+ % Set the Current rotation matrices
+ BLDATA.Current_Matrices_L2A.Rc = Rc;
+ BLDATA.Current_Matrices_L2A.Rs = Rs;
+ BLDATA.Current_Matrices_L2A.Rh = Rh;
+ BLDATA.Current_Matrices_L2A.Ru = Ru;
+ BLDATA.Current_Matrices_L2A.Rr = Rr;
+
+ % Set the current wire frames
+ BLDATA.Current_WFBones.Thorax = [IJ, PX, T8, C7, IJ];
+ BLDATA.Current_WFBones.Clavicula =...
+ [BLDATA.Current_Points.SC,...
+ BLDATA.Current_Points.AC];
+ BLDATA.Current_WFBones.Scapula =...
+ [BLDATA.Current_Points.AC,...
+ BLDATA.Current_Points.AA,...
+ BLDATA.Current_Points.TS,...
+ BLDATA.Current_Points.AI,...
+ BLDATA.Current_Points.GH,...
+ BLDATA.Current_Points.AC];
+ BLDATA.Current_WFBones.Humerus =...
+ [BLDATA.Current_Points.GH,...
+ BLDATA.Current_Points.HU,...
+ BLDATA.Current_Points.EL,...
+ BLDATA.Current_Points.EM];
+ BLDATA.Current_WFBones.Ulna =...
+ [BLDATA.Current_Points.CP,...
+ BLDATA.Current_Points.HU,...
+ BLDATA.Current_Points.EM,...
+ BLDATA.Current_Points.US];
+ BLDATA.Current_WFBones.Radius =...
+ [BLDATA.Current_Points.CP,...
+ BLDATA.Current_Points.RS];
+
+ % Set the Garner and Pandy Scapular Rotation Matrix
+ Zaxis = BLDATA.Current_Points.AC - BLDATA.Current_Points.GH; Zaxis = Zaxis/norm(Zaxis);
+ Yaxis = cross(Zaxis, BLDATA.Current_Points.AC - BLDATA.Current_Points.TS); Yaxis = Yaxis/norm(Yaxis);
+ Xaxis = cross(Yaxis, Zaxis); Xaxis = Xaxis/norm(Xaxis);
+
+ % Set the rotation matrix
+ BLDATA.Current_GnP.Rs = [Xaxis, Yaxis, Zaxis];
+
+ % Set the Output
+ Output = BLDATA;
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+% LIST OF TASKS ENDS HERE!!
+%--------------------------------------------------------------------------
+%--------------------------------------------------------------------------
+else
+ % If the wrong task is given, MATLAB throws an error
+ ErrorMsg = [...
+ 'The user supplied task is not valid.',...
+ 'MAIN_TOOL_geometry_functions requires a valid task as first input.\n',...
+ 'Try the Followings : \n',...
+ 'Task 1 : Build Rotation Matrices From Euler Angles,\n',...
+ 'Task 2 : Get Euler Angles From Original Rotation Matrices,\n',...
+ 'Task 3 : Get Euler Angles From Initial Rotation Matrices,\n',...
+ 'Task 4 : Get Euler Angles From Current Rotation Matrices,\n',...
+ 'Task 5 : Rotate Points From Local To Global Frame (Initial),\n',...
+ 'Task 6 : Rotate Points From Global To Local Frame (Initial),\n',...
+ 'Task 7 : Rotate Points From Local To Global Frame (Current),\n',...
+ 'Task 8 : Rotate Points From Global To Local Frame (Current),\n',...
+ 'Task 9 : Update Initial Bony Landmark Data from Joint Rotation Matrices,\n',...
+ 'Task 10: Update Current Bony Landmark Data from Joint Rotation Matrices.'];
+
+ % Throw the Error
+ error('MainApp:GomertricTaskCheck', ErrorMsg);
+end
+return;
\ No newline at end of file
diff --git a/ShoulderModel/scapula_coordinate_system/PlotPoint.m b/ShoulderModel/scapula_coordinate_system/PlotPoint.m
new file mode 100755
index 0000000..598d671
--- /dev/null
+++ b/ShoulderModel/scapula_coordinate_system/PlotPoint.m
@@ -0,0 +1,12 @@
+function [] = PlotPoint(point,scale,color,edge)
+%
+%
+%
+% plot landmarks
+[dummyx,dummyy,dummyz] = sphere;
+
+dummyx=dummyx.*scale;
+dummyy=dummyy.*scale;
+dummyz=dummyz.*scale;
+
+surf(dummyx+point(1),dummyy+point(2),dummyz+point(3),'facecolor',color, 'EdgeColor', edge);
\ No newline at end of file
diff --git a/ShoulderModel/scapula_coordinate_system/Scapula_Mesh0.mat b/ShoulderModel/scapula_coordinate_system/Scapula_Mesh0.mat
new file mode 100755
index 0000000..e5a3de2
Binary files /dev/null and b/ShoulderModel/scapula_coordinate_system/Scapula_Mesh0.mat differ
diff --git a/ShoulderModel/scapula_coordinate_system/finding_the_right_GH_for_generic_model.fig b/ShoulderModel/scapula_coordinate_system/finding_the_right_GH_for_generic_model.fig
new file mode 100755
index 0000000..cc0ef2d
Binary files /dev/null and b/ShoulderModel/scapula_coordinate_system/finding_the_right_GH_for_generic_model.fig differ
diff --git a/ShoulderModel/scapula_coordinate_system/fitLine.m b/ShoulderModel/scapula_coordinate_system/fitLine.m
new file mode 100755
index 0000000..a7b37cf
--- /dev/null
+++ b/ShoulderModel/scapula_coordinate_system/fitLine.m
@@ -0,0 +1,25 @@
+function [dirVect,meanX,residuals,rmse,R2] = fitLine(X)
+
+% Fits a line to a group of points in X
+% X should be X = [x1 y1 z1]
+% [ ... ]
+% [xn yn zn]
+
+[coeff,score,~] = princomp(X);
+dirVect = coeff(:,1);
+[Xn,Xm] = size(X);
+meanX = mean(X,1);
+Xfit1 = repmat(meanX,Xn,1) + score(:,1)*coeff(:,1)';
+residuals = X-Xfit1;
+error = diag(pdist2(residuals,zeros(Xn,Xm)));
+sse = sum(error.^2);
+rmse = norm(error)/sqrt(Xn);
+
+for i=1:Xn
+ tot(i) = norm(meanX-X(i,:));
+end
+
+sst = sum(tot.^2);
+
+R2 = 1-(sse/sst); %http://en.wikipedia.org/wiki/Coefficient_of_determination
+end
\ No newline at end of file
diff --git a/ShoulderModel/scapula_coordinate_system/scapula_coordinate_sytsem.m b/ShoulderModel/scapula_coordinate_system/scapula_coordinate_sytsem.m
new file mode 100755
index 0000000..881e202
--- /dev/null
+++ b/ShoulderModel/scapula_coordinate_system/scapula_coordinate_sytsem.m
@@ -0,0 +1,233 @@
+clear all
+
+
+% bony landmarks for defining the thorax (Matlab) coordinate system (They
+% are in Amira coordinate system)
+IJ = [ 74.1129; -74.8060; 68.9446]; % Incisura Jugularis
+PX = [ 82.5171; -133.1130; -76.9724]; % Processus Xiphoideus
+T8 = [ 78.9481; -24.5985; -40.6273]; % Vertebra T8
+C7 = [ 70.5729; -35.7244; 150.7640]; % Vertebra C7
+
+% AMIRA -> MATLAB Rotation Matrix
+Zt = (C7 + IJ)/2 - (T8 + PX)/2;
+Xt = cross(C7 - IJ, (T8 + PX)/2-IJ);
+Yt = cross(Zt, Xt);
+R_am = [Xt/norm(Xt), Yt/norm(Yt), Zt/norm(Zt)]'; %R_am=R_matlab', which means
+%R_matlab map the points in matlab to AMIRA. For instance if you think
+%about R_matlab*[1 0 0]' it returns the associated vector (point) related
+%to the x axis of matlab in amira. Obviously it will be the first column of
+%the R_matlab.
+
+% Homogeneous transformation Matrix which maps a point in AMIRA to matlab
+% coordinate system
+H_am = [[R_am, -R_am*IJ]; [0, 0, 0, 1]];
+
+% bony landmarks of the scapula in the AMIRA coordinate system
+%TS = [ -0.9241 52.0670 121.3280]'; % Trigonum Spinae % old
+TS = [-1.585891723632813e+000 5.131806945800781e+001 1.226403579711914e+002 ]';
+%AI = [ -6.7869 50.3866 -4.7008]'; % Angulus Inferior
+AI = [-4.471809387207031e+000 4.468699645996094e+001 -8.649490356445313e+000]';
+%SN = [-58.6632 1.2753 114.5709]'; % Spino-glenoid Notch
+SN = [-5.834277343750000e+001 1.268512725830078e+000 1.163459472656250e+002]';
+%GC = [-67.8221 -14.4514 103.9502]'; % glenoid fossa center % old GC
+GC = [-66.9253 -15.7935 105.5615]';
+GH = [-86.1456 -31.7209 107.6860]'; % humeral head center (glenohumeral joint center)
+GlenoidSphere = [-80.5921 -29.58149 106.4207]';
+
+S1 = [-4.437187576293945e+001 1.044776678085327e+000 1.171667938232422e+002]'; % the most lateral point on the supraspinatus fossa
+S2 = [-2.524987030029297e+001 3.014913558959961e+001 1.212621765136719e+002]'; % one of the other 4 points on the supraspinatus fossa
+S3 = [-4.073601150512695e+001 9.907344818115234e+000 1.174581298828125e+002]'; % one of the other 4 points on the supraspinatus fossa
+S4 = [-3.028522109985352e+001 2.512048149108887e+001 1.201423034667969e+002]'; % one of the other 4 points on the supraspinatus fossa
+S5 = [-3.626570129394531e+001 1.977687454223633e+001 1.190045471191406e+002]'; % one of the other 4 points on the supraspinatus fossa
+
+% transform the scapula points to thorax coordinate system
+TS = H_am*[TS; 1]; TS = TS(1:3,1);
+AI = H_am*[AI; 1]; AI = AI(1:3,1);
+SN = H_am*[SN; 1]; SN = SN(1:3,1);
+GC = H_am*[GC; 1]; GC = GC(1:3,1);
+GH = H_am*[GH; 1]; GH = GH(1:3,1);
+GlenoidSphere = H_am*[GlenoidSphere; 1]; GlenoidSphere = GlenoidSphere(1:3,1);
+S1 = H_am*[S1; 1]; S1 = S1(1:3,1);
+S2 = H_am*[S2; 1]; S2 = S2(1:3,1);
+S3 = H_am*[S3; 1]; S3 = S3(1:3,1);
+S4 = H_am*[S4; 1]; S4 = S4(1:3,1);
+S5 = H_am*[S5; 1]; S5 = S5(1:3,1);
+
+% plot the points to be sure they hold correspondence with their anatomical
+% landmarks
+Current_Folder = pwd; % get the current folder
+if isunix % load the scapula mesh that is in scapula coordinate system
+ load([Current_Folder, '/Scapula_Mesh0.mat']);
+else
+ load([Current_Folder, '\Scapula_Mesh0.mat']);
+end
+
+tri = Scapula_Mesh0.tri; % save the surfaces and the points separately
+points = 1.e3*Scapula_Mesh0.points; % scale the points to mm
+
+BLDATA = MAIN_INITIALISATION_build_data_bony_landmark(); % get the BLDATA in which we have R_S2T
+
+points_T = MAIN_TOOL_geometry_functions('Rotate Points From Local To Global Frame (Current)', points', BLDATA, 2); % rotate the points of the mesh to the thorax coordinate system
+
+points_T = points_T';
+
+figure('units', 'normalized','position', [0.4, 0.4, 0.5, 0.6],'name', 'scapula coordinate');
+hold on;
+trisurf(tri, points_T(:,1), points_T(:,2), points_T(:,3),'FaceColor','white','EdgeColor', [0.7 0.7 0.7]);
+axis equal
+ % Set some lights to help visualise the model
+ %light('Position',[ 1, 0, 0],'Style','infinite');
+ %light('Position',[ 60, -60, -100],'Style','local');
+ %light('Position',[100, -80, 1000],'Style','infinite');
+ colormap copper; % Give the bone meshings a bone color.
+ box on; % Turn the axes box on. It makes is easier to keep track of the orientation.
+ material dull; % Define the bone meshing material. It removes the shiny effect.
+ axis equal; % Correct the apsect ratio.
+ %zoom(1.4); % Zoom in on the visualisation. otherwise it looks very small.
+ view([175, 25]); % Setup the initial camera postion [0,0] is behind horizontally.
+ xlim([50, 200])
+ ylim([-140, 0])
+ zlim([-60, 100])
+
+
+landmark_list = {'TS' 'AI' 'SN' 'GC' 'GH' 'GlenoidSphere' 'S1' 'S2' 'S3' 'S4' 'S5'}; % make a list of landmarks name
+
+for land_id = 1:length(landmark_list)
+ land_position = eval(landmark_list{land_id});
+ PlotPoint(land_position, 3, 'k', 'none');
+ text(1.02*land_position(1), 1*land_position(2), 1.1*land_position(3), landmark_list{land_id}, ...
+ 'color','k','fontsize',20, 'HorizontalAlignment','right')
+end
+
+% -------------------------------------------------------------------------
+% define scapula coordinate system
+% -------------------------------------------------------------------------
+% 1) define the scapula plane
+% define the plane normal vector (posterior-anterior positive)
+X_SA = cross((S1 - AI), (S1 - TS)); X_SA = X_SA/norm(X_SA);
+
+% plot the scapula plane and its normal vector, the plane is defined as follows:
+% X_SA(1)*(x - S1(1)) + X_SA(2)*(y - S1(2)) + X_SA(3)*(y - S1(3)) = 0
+[x y] = meshgrid(-140:10:200); % make the grids
+z = -(X_SA(1)*(x - S1(1)) + X_SA(2)*(y - S1(2)))/X_SA(3) + S1(3); % calculate the z of the plane in the grids
+surf(x, y, z, 'EdgeColor', 'none', 'FaceColor', [0.6 0.6 0.6], 'FaceAlpha', 0.4) % plot the surface
+quiver3(S1(1), S1(2), S1(3), X_SA(1), X_SA(2), X_SA(3), 90, 'Color', [0.6 0.6 0.6], ...
+ 'linewidth', 2, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot it's normal vector
+
+% 2) project the five points of the supraspinatus fossa on the scapula plane
+landmark_list = {'SN' 'S2' 'S3' 'S4' 'S5'}; % list of landmarks to be projected
+
+for land_id = 1:length(landmark_list)
+ t = X_SA'*(S1 - eval(landmark_list{land_id})); % line parameter in projection
+ projected.(landmark_list{land_id}) = eval(landmark_list{land_id}) + t*X_SA; % projected points
+ PlotPoint(projected.(landmark_list{land_id}), 3, [0.6 0.6 0.6], [0.4 0.4 0.4]); % plot the projected points
+end
+
+% 3) fit a line through the 4 projected points of the supraspinatus fossa
+% and S1. The projected SN will be used as the origin of the scapula
+% coordnate system
+Z_SA = fitLine([S1, projected.S2, projected.S3, projected.S4, projected.S5]');
+Z_SA = Z_SA/norm(Z_SA);
+quiver3(projected.S2(1), projected.S2(2), projected.S2(3), Z_SA(1), Z_SA(2), Z_SA(3), 120, 'Color', [0.6 0.6 0.6], ...
+ 'linewidth', 2, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot it's normal vector
+
+% 4) construct the scapula coordinate system and its rotation matrix
+X_SA = X_SA; % x axis of the scapula coordinate system
+Z_SA = Z_SA; % z axis of the scapula coordinate system
+Y_SA = cross(Z_SA, X_SA); Y_SA = Y_SA/norm(Y_SA); % y axis of the scapula coordinate system
+
+R_SA2T = [X_SA, Y_SA, Z_SA]; % local ---> global
+
+
+quiver3(projected.SN(1), projected.SN(2), projected.SN(3), X_SA(1), X_SA(2), X_SA(3), 40, 'Color', 'b', ...
+ 'linewidth', 4, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+quiver3(projected.SN(1), projected.SN(2), projected.SN(3), Y_SA(1), Y_SA(2), Y_SA(3), 40, 'Color', 'b', ...
+ 'linewidth', 4, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+quiver3(projected.SN(1), projected.SN(2), projected.SN(3), Z_SA(1), Z_SA(2), Z_SA(3), 40, 'Color', 'b', ...
+ 'linewidth', 4, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+PlotPoint(projected.SN, 5, 'b', 'b') % plot the origin (again)
+
+
+% -------------------------------------------------------------------------
+% define the glenoid center line from glenoid center, glenoid version, and inclination
+% -------------------------------------------------------------------------
+% note that we get the glenoid center for each patient in the scapula
+% coordinate system of that patient obtained from CT scans.
+% the idea is to find the center line in the scapula coordinate system and
+% then at the very end we transform them to the matlab frame. The center
+% line will be used in the next step to find the new GH landmark.
+
+GC_SA = R_SA2T'*(GC - projected.SN); % as yasmine did not give me this yet, imagine I have it
+%GH_g = R_SA2T'*(GH - GC); % coordinate of the GH in glenoid frame (scpula frame attached to GC)
+
+GlenoidSphere_g = R_SA2T'*(GlenoidSphere - GC);
+GV = atand(GlenoidSphere_g(1)/GlenoidSphere_g(3)); % glenoid version in deg
+GI = atand(GlenoidSphere_g(2)/GlenoidSphere_g(3)); % glenoid inclination in deg
+
+% add a description of the GV and GI
+% add a description of how I find the center line, not that obvious
+
+% define the glenoid center line
+GC_axis = [sind(GV)*cosd(GI) cosd(GV)*sind(GI) cosd(GV)*cosd(GI)]';
+GC_axis = GC_axis/norm(GC_axis);
+
+quiver3(GC(1), GC(2), GC(3), X_SA(1), X_SA(2), X_SA(3), 30, 'Color', 'r', ...
+ 'linewidth', 3, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+quiver3(GC(1), GC(2), GC(3), Y_SA(1), Y_SA(2), Y_SA(3), 30, 'Color', 'r', ...
+ 'linewidth', 3, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+quiver3(GC(1), GC(2), GC(3), Z_SA(1), Z_SA(2), Z_SA(3), 30, 'Color', 'r', ...
+ 'linewidth', 3, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+
+GC_axis_T = R_SA2T*GC_axis; % glenoid center line in thorax for plotting
+quiver3(GC(1), GC(2), GC(3), GC_axis_T(1), GC_axis_T(2), GC_axis_T(3), 60, 'Color', 'k', ...
+ 'linewidth', 5, 'MaxHeadSize', 0.5, 'DisplayName', 'X_SA') % plot axis
+
+
+% -------------------------------------------------------------------------
+% define a new GH based on the new glenoid center line
+% -------------------------------------------------------------------------
+humeral_head_radius = norm(GH - GC); %radius of the humeral head, you should be able to scale it for each patient
+
+GH_new_g = humeral_head_radius*GC_axis; % the new GH in glenoid frame
+
+GH_new_T = projected.SN + R_SA2T*(GC_SA + eye(3)*GH_new_g);
+
+GC_T = projected.SN + R_SA2T*GC_SA; % for the glenoid cone we'll need it
+
+PlotPoint(GH_new_T, 3, 'g', 'g') % plot the new GH that will be used to construct the model, cone, and everything basically
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ShoulderModel/scapula_coordinate_system/try1_new_GH.fig b/ShoulderModel/scapula_coordinate_system/try1_new_GH.fig
new file mode 100755
index 0000000..763e30f
Binary files /dev/null and b/ShoulderModel/scapula_coordinate_system/try1_new_GH.fig differ

Event Timeline