From 4916b4b54f92e1ae8efd87c0e04ab103befcba05 Mon Sep 17 00:00:00 2001
From: rtalbi <dr_talbi@esi.dz>
Date: Thu, 9 Jan 2020 10:57:03 +0100
Subject: [PATCH] New tests for the S&P paper

---
 .idea/workspace.xml                           | 695 ++++++++++--------
 CRYPTO/EvalCmp.cpp                            |  16 +-
 CRYPTO/EvalCmp.h                              |   2 +-
 CRYPTO/EvalCmp100.cpp                         |  11 +-
 CRYPTO/EvalCmp100.h                           |   4 +
 CRYPTO/EvalDiv.cpp                            |  21 +-
 CRYPTO/EvalDiv.h                              |   4 +
 CRYPTO/EvalDiv100.cpp                         |  24 +
 CRYPTO/EvalDiv100.h                           |   3 +
 CRYPTO/EvalDotProd.cpp                        |  22 +
 CRYPTO/EvalDotProd.h                          |   3 +
 CRYPTO/EvalEntropy.cpp                        |  23 +
 CRYPTO/EvalEntropy.h                          |   4 +
 CRYPTO/EvalExpo.cpp                           | 111 +++
 CRYPTO/EvalExpo.h                             |  41 ++
 CRYPTO/EvalHBound.cpp                         |  19 +
 CRYPTO/EvalHBound.h                           |   4 +
 CRYPTO/EvalLog.cpp                            |  24 +
 CRYPTO/EvalLog.h                              |   3 +
 CRYPTO/EvalLrUpdate.cpp                       |  20 +
 CRYPTO/EvalLrUpdate.h                         |   3 +
 CRYPTO/EvalMult.cpp                           |  22 +
 CRYPTO/EvalMult.h                             |   4 +-
 CRYPTO/EvalProba.cpp                          |  26 +-
 CRYPTO/EvalProba.h                            |   5 +
 CRYPTO/EvalSigmoid.cpp                        |  21 +
 CRYPTO/EvalSigmoid.h                          |   5 +
 CRYPTO/EvalSqrt.cpp                           | 165 +++++
 CRYPTO/EvalSqrt.h                             |  48 ++
 CRYPTO/EvalStandardDiv.cpp                    |  19 +
 CRYPTO/EvalStandardDiv.h                      |   3 +
 CRYPTO/EvalThreashold.cpp                     |  37 +-
 CRYPTO/EvalThreashold.h                       |   5 +
 CRYPTO/SkeySwitch.cpp                         |  23 +-
 CRYPTO/SkeySwitch.h                           |   3 +-
 TEST/TESTBuildingBlocks.cpp                   |  95 ++-
 .../CMakeFiles/DAPPLE.dir/CXX.includecache    | 232 +++++-
 .../CMakeFiles/DAPPLE.dir/DependInfo.cmake    |   2 +
 .../CMakeFiles/DAPPLE.dir/build.make          | 114 +--
 .../CMakeFiles/DAPPLE.dir/cmake_clean.cmake   |   2 +
 .../CMakeFiles/DAPPLE.dir/depend.internal     |  20 +
 .../CMakeFiles/DAPPLE.dir/depend.make         |  20 +
 .../CMakeFiles/DAPPLE.dir/link.txt            |   2 +-
 .../CMakeFiles/DAPPLE.dir/progress.make       |   2 +
 cmake-build-debug/CMakeFiles/Makefile2        |   4 +-
 cmake-build-debug/CMakeFiles/progress.marks   |   2 +-
 cmake-build-debug/DAPPLE.cbp                  |  12 +
 cmake-build-debug/Makefile                    |  60 ++
 48 files changed, 1629 insertions(+), 381 deletions(-)
 create mode 100755 CRYPTO/EvalExpo.cpp
 create mode 100755 CRYPTO/EvalExpo.h
 create mode 100755 CRYPTO/EvalSqrt.cpp
 create mode 100755 CRYPTO/EvalSqrt.h

diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index dc2fc331..1284db35 100755
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -12,33 +12,54 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="2624f523-8bdb-4867-a32b-0c8fa25f5cda" name="Default" comment="New tests for the S&amp;P paper">
+      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalExpo.cpp" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalExpo.h" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalSqrt.cpp" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/CRYPTO/EvalSqrt.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CONFIG/DAPPLE.config" beforeDir="false" afterPath="$PROJECT_DIR$/CONFIG/DAPPLE.config" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/DTPKC.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/DTPKC.h" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalAddPow2.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalAddPow2.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalCmp.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalCmp.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalCmp.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalCmp.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalCmp100.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalCmp100.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDiv.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDiv.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDiv.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDiv.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDiv100.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDiv100.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalEntropy.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalEntropy.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalEntropy.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalEntropy.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalHBound.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalHBound.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalHBound.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalHBound.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLog.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLog.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalMult.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalMult.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalMult.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalMult.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalProba.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalProba.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalProba.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalProba.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalSigmoid.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalSigmoid.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalSigmoid.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalSigmoid.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.h" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalThreashold.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalThreashold.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/EvalThreashold.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/EvalThreashold.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/CRYPTO/SkeySwitch.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/SkeySwitch.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/CRYPTO/SkeySwitch.h" beforeDir="false" afterPath="$PROJECT_DIR$/CRYPTO/SkeySwitch.h" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/TESTDTPKC.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTDTPKC.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/TESTElementaryOps.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTElementaryOps.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/TESTpacking.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/TESTpacking.cpp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/TEST/main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/TEST/main.cpp" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/DAPPLE.cbp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -67,102 +88,121 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-926">
+            <state relative-caret-position="263">
+              <caret line="484" lean-forward="true" selection-start-line="484" selection-end-line="484" />
               <folding>
-                <element signature="e#0#22#0" expanded="true" />
+                <element signature="e#0#31#0" expanded="true" />
+                <element signature="e#199#7476#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp">
+        <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="604">
-              <caret line="119" lean-forward="true" selection-start-line="119" selection-end-line="119" />
+            <state relative-caret-position="128">
+              <caret line="165" column="27" selection-start-line="165" selection-start-column="27" selection-end-line="165" selection-end-column="27" />
+              <folding>
+                <element signature="e#0#17#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.cpp">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="874">
-              <caret line="117" column="5" lean-forward="true" selection-start-line="117" selection-start-column="5" selection-end-line="117" selection-end-column="5" />
+            <state relative-caret-position="-2105">
+              <caret line="118" column="35" selection-start-line="118" selection-start-column="35" selection-end-line="118" selection-end-column="35" />
+              <folding>
+                <element signature="e#0#20#0" expanded="true" />
+                <element signature="e#55#214#0" />
+                <element signature="e#282#507#0" />
+                <element signature="e#510#1846#0" />
+                <element signature="e#1848#2377#0" />
+                <element signature="e#2379#2558#0" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/ML/VFDT/Node.cpp">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalStandardDiv.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1650">
-              <caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
+            <state relative-caret-position="411">
+              <caret line="50" column="76" selection-start-line="47" selection-start-column="2" selection-end-line="51" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/ML/VFDT/VFDT_Classifier.cpp">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1170" />
+            <state relative-caret-position="11">
+              <caret line="103" column="7" selection-start-line="103" selection-start-column="7" selection-end-line="103" selection-end-column="7" />
+              <folding>
+                <element signature="e#0#22#0" expanded="true" />
+              </folding>
+            </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.h">
+        <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="634">
-              <caret line="58" selection-start-line="58" selection-end-line="58" />
+            <state relative-caret-position="345">
+              <caret line="23" column="44" lean-forward="true" selection-start-line="23" selection-start-column="44" selection-end-line="23" selection-end-column="44" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/PPML/IO/PPDatasetReader.cpp">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-1081">
-              <caret line="120" column="27" lean-forward="true" selection-start-line="120" selection-start-column="27" selection-end-line="120" selection-end-column="27" />
+            <state relative-caret-position="1001">
+              <caret line="80" column="12" selection-start-line="80" selection-start-column="12" selection-end-line="80" selection-end-column="12" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/PPML/IO/PPRecord.h">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalHBound.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="510">
-              <caret line="36" lean-forward="true" selection-start-line="36" selection-end-line="36" />
+            <state relative-caret-position="386">
+              <caret line="152" selection-start-line="152" selection-end-line="153" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSqrt.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="30">
-              <caret line="2" column="30" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="30" />
+            <state relative-caret-position="-773">
+              <caret line="84" column="1" selection-start-line="84" selection-start-column="1" selection-end-line="84" selection-end-column="1" />
+              <folding>
+                <element signature="e#160#177#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/EXP/DEBUG-LR/Cipher-2019-04-03-13:23:53-Stats.csv">
-          <provider selected="true" editor-type-id="text-editor" />
+        <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSqrt.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="432">
+              <caret line="45" column="1" selection-start-line="15" selection-end-line="45" selection-end-column="1" />
+            </state>
+          </provider>
         </entry>
       </file>
     </leaf>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>update</find>
-      <find>ini</find>
-      <find>1</find>
-      <find>one</find>
-      <find>Init</find>
-      <find>PRINT</find>
       <find>test</find>
       <find>evallog</find>
       <find>100</find>
@@ -187,6 +227,12 @@
       <find>omp</find>
       <find>testBui</find>
       <find>Cipher</find>
+      <find>valida</find>
+      <find>validate</find>
+      <find>sq</find>
+      <find>proba</find>
+      <find>Eval</find>
+      <find>upda</find>
     </findStrings>
     <replaceStrings>
       <replace>EvalCmp100</replace>
@@ -211,38 +257,7 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_13.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_14.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_15.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Bank/LR/DO_16.data" />
-        <option value="$PROJECT_DIR$/ML/LR/LR.cpp" />
-        <option value="$PROJECT_DIR$/EXP/Tuning/Adult-Big-2019-06-24-12:54:46-Stats.csv" />
-        <option value="$PROJECT_DIR$/EXP/Tuning/BankClearLR-2019-06-26-12:31:06-Config.txt" />
-        <option value="$PROJECT_DIR$/DATA/Scripts/Clean_Nursery.py" />
-        <option value="$PROJECT_DIR$/DATA/Scripts/CSV_Splitter.py" />
-        <option value="$PROJECT_DIR$/ML/VFDT/VFDT_Classifier.cpp" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_2_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_3_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_4_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_5_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_6_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_6.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_7_.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_8.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_9.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_10.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_11.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_12.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_13.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_14.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_15.data" />
-        <option value="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2/DO_16.data" />
-        <option value="$PROJECT_DIR$/DATA/Scripts/Split_Train_Test.py" />
-        <option value="$PROJECT_DIR$/EXP/Tuning2/Nursery-Clear-vfdt-2019-07-01-13:28:43-Config.txt" />
-        <option value="$PROJECT_DIR$/ML/NB/Stats.h" />
         <option value="$PROJECT_DIR$/ML/NB/NB_Classifier.cpp" />
-        <option value="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" />
-        <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" />
         <option value="$PROJECT_DIR$/ML/NB/Stats.cpp" />
         <option value="$PROJECT_DIR$/PPML/PPNB/PPStats.h" />
         <option value="$PROJECT_DIR$/PPML/PPNB/PPStats.cpp" />
@@ -251,17 +266,48 @@
         <option value="$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp" />
         <option value="$PROJECT_DIR$/TEST/TESTElementaryOps.h" />
         <option value="$PROJECT_DIR$/TEST/TESTElementaryOps.cpp" />
-        <option value="$PROJECT_DIR$/CMakeLists.txt" />
         <option value="$PROJECT_DIR$/CRYPTO/DTPKC.h" />
         <option value="$PROJECT_DIR$/TEST/TESTpacking.cpp" />
         <option value="$PROJECT_DIR$/TEST/main.cpp" />
-        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalAddPow2.h" />
-        <option value="$PROJECT_DIR$/CRYPTO/EvalCmp.h" />
-        <option value="$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/DTPKC.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp" />
         <option value="$PROJECT_DIR$/CRYPTO/EvalCmp.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalEntropy.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalHBound.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalLog.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalMult.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalProba.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalSigmoid.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalCmp.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalCmp100.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv100.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDotProd.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalEntropy.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalHBound.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalLog.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalLrUpdate.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalMult.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalProba.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalSigmoid.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalStandardDiv.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalThreashold.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalThreashold.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/SkeySwitch.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/SkeySwitch.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalDiv.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalExpo.cpp" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalExpo.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalSqrt.h" />
+        <option value="$PROJECT_DIR$/CRYPTO/EvalSqrt.cpp" />
+        <option value="$PROJECT_DIR$/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp" />
       </list>
     </option>
   </component>
@@ -285,11 +331,6 @@
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
             </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="CONFIG" type="462c0819:PsiDirectoryNode" />
-            </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
@@ -298,24 +339,18 @@
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
-              <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="ML" type="462c0819:PsiDirectoryNode" />
-              <item name="VFDT" type="462c0819:PsiDirectoryNode" />
+              <item name="PPML" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
               <item name="PPML" type="462c0819:PsiDirectoryNode" />
+              <item name="PPNB" type="462c0819:PsiDirectoryNode" />
             </path>
             <path>
               <item name="DAPPLE" type="b2602c69:ProjectViewProjectNode" />
               <item name="DAPPLE-2.0" type="462c0819:PsiDirectoryNode" />
-              <item name="PPML" type="462c0819:PsiDirectoryNode" />
-              <item name="IO" type="462c0819:PsiDirectoryNode" />
+              <item name="TEST" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
           <select />
@@ -334,13 +369,6 @@
     <property name="settings.editor.selected.configurable" value="dynamic.analysis.tools.valgrind" />
   </component>
   <component name="RecentsManager">
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/TEST" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/BANK2" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2" />
-      <recent name="$PROJECT_DIR$/DATA/Scripts" />
-      <recent name="$PROJECT_DIR$/DATA/Datasets/Adult" />
-    </key>
     <key name="MoveFile.RECENT_KEYS">
       <recent name="$PROJECT_DIR$/DATA/Datasets" />
       <recent name="$PROJECT_DIR$/EXP/Tuning/Archived" />
@@ -348,6 +376,13 @@
       <recent name="$PROJECT_DIR$/ML/IO" />
       <recent name="$PROJECT_DIR$/ML" />
     </key>
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/CRYPTO" />
+      <recent name="$PROJECT_DIR$/TEST" />
+      <recent name="$PROJECT_DIR$/DATA/Datasets/BANK2" />
+      <recent name="$PROJECT_DIR$/DATA/Datasets/Nursery/LR2" />
+      <recent name="$PROJECT_DIR$/DATA/Scripts" />
+    </key>
   </component>
   <component name="RunDashboard">
     <option name="ruleStates">
@@ -451,14 +486,8 @@
       <workItem from="1578301835088" duration="3493000" />
       <workItem from="1578399487282" duration="409000" />
       <workItem from="1578400995489" duration="2901000" />
-      <workItem from="1578409400958" duration="5950000" />
-    </task>
-    <task id="LOCAL-00032" summary="30/11/2018 : Added parallelism to the pp version">
-      <created>1543573731472</created>
-      <option name="number" value="00032" />
-      <option name="presentableId" value="LOCAL-00032" />
-      <option name="project" value="LOCAL" />
-      <updated>1543573731472</updated>
+      <workItem from="1578409400958" duration="17369000" />
+      <workItem from="1578490199097" duration="14520000" />
     </task>
     <task id="LOCAL-00033" summary="30/11/2018 : Last parallel version">
       <created>1546372131287</created>
@@ -796,11 +825,18 @@
       <option name="project" value="LOCAL" />
       <updated>1578302130522</updated>
     </task>
-    <option name="localTasksCounter" value="81" />
+    <task id="LOCAL-00081" summary="New tests for the S&amp;P paper">
+      <created>1578416928866</created>
+      <option name="number" value="00081" />
+      <option name="presentableId" value="LOCAL-00081" />
+      <option name="project" value="LOCAL" />
+      <updated>1578416928868</updated>
+    </task>
+    <option name="localTasksCounter" value="82" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="1098536000" />
+    <option name="totallyTimeSpent" value="1124475000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -814,19 +850,19 @@
   <component name="ToolWindowManager">
     <frame x="67" y="25" width="1853" height="1175" extended-state="6" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.8053333" visible="true" weight="0.22800222" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.8053333" visible="true" weight="0.23076923" />
       <window_info id="Structure" order="1" sideWeight="0.2735043" side_tool="true" weight="0.3390558" />
       <window_info id="Favorites" order="2" sideWeight="0.19466667" side_tool="true" weight="0.28113064" />
       <window_info anchor="bottom" id="Database Changes" order="0" />
       <window_info anchor="bottom" id="Message" order="1" />
       <window_info anchor="bottom" id="Find" order="2" sideWeight="0.49474266" weight="0.32663316" />
-      <window_info anchor="bottom" id="Run" order="3" sideWeight="0.54122853" weight="0.37220845" />
+      <window_info active="true" anchor="bottom" id="Run" order="3" sideWeight="0.64748204" visible="true" weight="0.55258125" />
       <window_info anchor="bottom" id="Debug" order="4" sideWeight="0.52241284" weight="0.32663316" />
       <window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="7" sideWeight="0.4986165" weight="0.32663316" />
-      <window_info anchor="bottom" id="Messages" order="8" sideWeight="0.5124516" weight="0.41457286" />
-      <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.45877144" side_tool="true" visible="true" weight="0.28680688" />
+      <window_info anchor="bottom" id="Messages" order="8" sideWeight="0.5052573" weight="0.41395792" />
+      <window_info anchor="bottom" id="Event Log" order="9" sideWeight="0.352518" side_tool="true" visible="true" weight="0.55258125" />
       <window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.4643055" weight="0.31658292" />
       <window_info anchor="bottom" id="Version Control" order="11" sideWeight="0.4875484" weight="0.32035175" />
       <window_info anchor="bottom" id="CMake" order="12" sideWeight="0.7094632" weight="0.36466166" />
@@ -1062,12 +1098,12 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp</url>
-          <line>61</line>
+          <line>69</line>
           <option name="timeStamp" value="597" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp</url>
-          <line>67</line>
+          <line>75</line>
           <option name="timeStamp" value="600" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1326,7 +1362,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp</url>
-          <line>568</line>
+          <line>639</line>
           <option name="timeStamp" value="873" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1381,12 +1417,12 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp</url>
-          <line>83</line>
+          <line>91</line>
           <option name="timeStamp" value="937" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp</url>
-          <line>86</line>
+          <line>94</line>
           <option name="timeStamp" value="938" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -1439,11 +1475,6 @@
           <line>377</line>
           <option name="timeStamp" value="997" />
         </line-breakpoint>
-        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
-          <url>file://$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp</url>
-          <line>35</line>
-          <option name="timeStamp" value="998" />
-        </line-breakpoint>
         <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/ML/VFDT/VFDT_Classifier.cpp</url>
           <line>336</line>
@@ -1466,12 +1497,12 @@
         </line-breakpoint>
         <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp</url>
-          <line>9</line>
+          <line>12</line>
           <option name="timeStamp" value="1015" />
         </line-breakpoint>
         <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp</url>
-          <line>8</line>
+          <line>11</line>
           <option name="timeStamp" value="1016" />
         </line-breakpoint>
         <line-breakpoint enabled="true" suspend="THREAD" type="python-line">
@@ -1520,338 +1551,412 @@
     </watches-manager>
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:00:32-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/PPML/IO/PPRecord.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        <state relative-caret-position="510">
+          <caret line="36" lean-forward="true" selection-start-line="36" selection-end-line="36" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Clear-nb-2019-07-03-12:02:27-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="45">
-          <caret line="3" selection-start-line="3" selection-end-line="3" />
+        <state relative-caret-position="30">
+          <caret line="2" column="30" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="30" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:32:46-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/PPML/IO/PPDatasetReader.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        <state relative-caret-position="-1081">
+          <caret line="120" column="27" lean-forward="true" selection-start-line="120" selection-start-column="27" selection-end-line="120" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-14:45:40-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="90">
-          <caret line="6" selection-start-line="6" selection-end-line="6" />
+        <state relative-caret-position="634">
+          <caret line="58" selection-start-line="58" selection-end-line="58" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:16:24-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="73" column="30" lean-forward="true" selection-start-line="71" selection-start-column="3" selection-end-line="74" selection-end-column="88" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-ClassOutput.txt">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="52" column="10" lean-forward="true" selection-start-line="52" selection-end-line="55" selection-end-column="109" />
+          <folding>
+            <element signature="e#0#17#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-Config.txt">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalEntropy.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="264">
+          <caret line="249" column="89" lean-forward="true" selection-start-line="246" selection-start-column="2" selection-end-line="249" selection-end-column="89" />
+          <folding>
+            <element signature="e#205#222#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:28:34-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLrUpdate.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-750">
+          <caret line="97" lean-forward="true" selection-start-line="97" selection-end-line="97" />
+          <folding>
+            <element signature="e#0#17#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLog.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalMult.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="92" column="16" lean-forward="true" selection-start-line="90" selection-end-line="94" selection-end-column="107" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSub.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-330">
-          <caret line="29" selection-start-line="29" selection-end-line="29" />
+        <state relative-caret-position="264">
+          <caret line="24" column="5" lean-forward="true" selection-start-line="24" selection-start-column="5" selection-end-line="24" selection-end-column="5" />
           <folding>
             <element signature="e#0#20#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-nb-final-2019-07-03-22:45:49-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSub2.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="354">
+          <caret line="59" column="1" lean-forward="true" selection-start-line="59" selection-start-column="1" selection-end-line="59" selection-end-column="1" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="439">
+          <caret line="183" selection-start-line="183" selection-end-line="183" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAdd.cpp">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:45:42-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
+        <state relative-caret-position="150">
+          <caret line="33" column="9" selection-start-line="33" selection-start-column="9" selection-end-line="33" selection-end-column="9" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="324">
-          <caret line="72" column="13" selection-start-line="72" selection-start-column="13" selection-end-line="72" selection-end-column="13" />
+        <state relative-caret-position="1380">
+          <caret line="92" lean-forward="true" selection-start-line="92" selection-end-line="92" />
+          <folding>
+            <element signature="e#0#17#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:26:47-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp100.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="38" lean-forward="true" selection-start-line="38" selection-end-line="38" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:34:28-Stats.csv">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
+        <state relative-caret-position="150">
+          <caret line="31" column="4" selection-start-line="31" selection-start-column="4" selection-end-line="31" selection-end-column="4" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:20:14-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="144">
+          <caret line="25" column="12" lean-forward="true" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-17:09:55-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDotProd.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="285">
+          <caret line="19" column="8" lean-forward="true" selection-start-line="19" selection-start-column="8" selection-end-line="19" selection-end-column="8" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-16:56:04-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalEntropy.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="270">
+          <caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DebugNb/Bank-Cipher-debug-time-2019-07-14-15:42:59-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalHBound.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="429">
+          <caret line="32" lean-forward="true" selection-start-line="32" selection-end-line="32" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/cmake-build-debug/Makefile">
-      <provider selected="true" editor-type-id="text-editor" />
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLog.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="210">
+          <caret line="15" column="4" selection-start-line="15" selection-start-column="4" selection-end-line="15" selection-end-column="4" />
+        </state>
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLrUpdate.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2790">
-          <caret line="186" column="34" selection-start-line="186" selection-start-column="34" selection-end-line="186" selection-end-column="34" />
-          <folding>
-            <element signature="e#0#20#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="270">
+          <caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalMult.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="360">
-          <caret line="24" selection-start-line="24" selection-end-line="24" selection-end-column="87" />
-          <folding>
-            <element signature="e#0#18#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="54">
+          <caret line="37" column="18" selection-start-line="37" selection-start-column="18" selection-end-line="37" selection-end-column="18" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalProba.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="414">
-          <caret line="643" column="46" selection-start-line="263" selection-start-column="3" selection-end-line="643" selection-end-column="46" />
-          <folding>
-            <element signature="e#0#31#0" expanded="true" />
-            <element signature="e#199#7476#0" />
-          </folding>
+        <state relative-caret-position="300">
+          <caret line="22" lean-forward="true" selection-start-line="22" selection-end-line="22" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSigmoid.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="280">
-          <caret line="26" selection-start-line="26" selection-end-line="26" />
-          <folding>
-            <element signature="e#0#18#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="345">
+          <caret line="24" column="12" selection-start-line="24" selection-start-column="12" selection-end-line="24" selection-end-column="12" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSub.h">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1245">
-          <caret line="83" selection-start-line="83" selection-end-line="83" />
+        <state relative-caret-position="1950">
+          <caret line="130" selection-start-line="130" selection-end-line="130" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret selection-end-column="17" />
-          <folding>
-            <element signature="e#0#17#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="2385">
+          <caret line="159" column="23" selection-start-line="159" selection-start-column="23" selection-end-line="159" selection-end-column="23" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTpacking.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/SkeySwitch.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="360">
-          <caret line="24" column="87" selection-start-line="24" selection-start-column="87" selection-end-line="24" selection-end-column="87" />
-          <folding>
-            <element signature="e#59#77#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="1650">
+          <caret line="110" selection-start-line="110" selection-end-line="110" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTpacking.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1455">
-          <caret line="97" selection-start-line="97" selection-end-line="97" />
+        <state relative-caret-position="1545">
+          <caret line="103" column="30" selection-start-line="103" selection-start-column="30" selection-end-line="103" selection-end-column="30" />
           <folding>
-            <element signature="e#0#24#0" expanded="true" />
+            <element signature="e#0#30#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalStandardDiv.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="16440">
-          <caret line="1096" selection-start-line="1096" selection-end-line="1096" />
-          <folding>
-            <element signature="e#52#93#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="330">
+          <caret line="22" column="12" selection-start-line="22" selection-start-column="12" selection-end-line="22" selection-end-column="12" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalThreashold.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="465">
-          <caret line="31" column="91" selection-end-line="31" selection-end-column="91" />
+        <state relative-caret-position="240">
+          <caret line="16" column="18" selection-start-line="15" selection-end-line="17" selection-end-column="23" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TestOpenMp.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/SkeySwitch.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2475">
-          <caret line="165" selection-start-line="165" selection-end-line="165" />
-          <folding>
-            <element signature="e#0#19#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="360">
+          <caret line="24" column="4" selection-start-line="24" selection-start-column="4" selection-end-line="24" selection-end-column="4" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalDiv100.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="600">
-          <caret line="40" column="20" selection-start-line="40" selection-start-column="20" selection-end-line="40" selection-end-column="20" />
+        <state relative-caret-position="128">
+          <caret line="113" column="37" selection-start-line="113" selection-start-column="37" selection-end-line="113" selection-end-column="37" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/LR/LR.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/main.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6060">
-          <caret line="404" column="5" selection-start-line="404" selection-start-column="5" selection-end-line="404" selection-end-column="5" />
+        <state relative-caret-position="128">
+          <caret line="95" column="12" selection-start-line="95" selection-start-column="4" selection-end-line="95" selection-end-column="12" />
           <folding>
-            <element signature="e#0#16#0" expanded="true" />
+            <element signature="e#52#93#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/TEST/TESTElementaryOps.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalLog.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1545">
-          <caret line="103" column="30" selection-start-line="103" selection-start-column="30" selection-end-line="103" selection-end-column="30" />
+        <state relative-caret-position="546">
+          <caret line="94" column="14" selection-start-line="93" selection-end-line="96" selection-end-column="89" />
           <folding>
-            <element signature="e#0#30#0" expanded="true" />
+            <element signature="e#0#17#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSigmoid.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2745">
-          <caret line="183" selection-start-line="183" selection-end-line="183" />
+        <state relative-caret-position="180">
+          <caret line="60" column="23" selection-start-line="60" selection-start-column="17" selection-end-line="60" selection-end-column="30" />
+          <folding>
+            <element signature="e#0#24#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.h">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalExpo.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="40" column="29" selection-start-line="40" selection-start-column="29" selection-end-line="40" selection-end-column="29" />
+        <state relative-caret-position="297">
+          <caret line="111" selection-start-line="111" selection-end-line="111" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp100.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalExpo.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="435">
-          <caret line="62" column="29" selection-start-line="62" selection-start-column="29" selection-end-line="62" selection-end-column="29" />
+        <state relative-caret-position="366">
+          <caret line="25" column="12" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
           <folding>
-            <element signature="e#0#17#0" expanded="true" />
+            <element signature="e#56#118#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/DTPKC.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalThreashold.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1080">
-          <caret line="72" column="32" lean-forward="true" selection-start-line="72" selection-start-column="32" selection-end-line="72" selection-end-column="32" />
+        <state relative-caret-position="206">
+          <caret line="130" column="18" selection-start-line="130" selection-start-column="18" selection-end-line="130" selection-end-column="18" />
+          <folding>
+            <element signature="e#0#27#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/SkeySwitch.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-630" />
+        <state relative-caret-position="1001">
+          <caret line="80" column="12" selection-start-line="80" selection-start-column="12" selection-end-line="80" selection-end-column="12" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DEBUG-LR/Cipher-2019-04-03-13:23:53-ClassOutput.txt">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DEBUG-LR/Cipher-2019-04-03-13:23:53-Config.txt">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/EXP/DEBUG-LR/Cipher-2019-04-03-13:23:53-Stats.csv">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalHBound.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-926">
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="386">
+          <caret line="152" selection-start-line="152" selection-end-line="153" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/VFDT/Node.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSqrt.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1650">
-          <caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
+        <state relative-caret-position="-773">
+          <caret line="84" column="1" selection-start-line="84" selection-start-column="1" selection-end-line="84" selection-end-column="1" />
+          <folding>
+            <element signature="e#160#177#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/ML/VFDT/VFDT_Classifier.cpp">
+    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1170" />
+        <state relative-caret-position="345">
+          <caret line="23" column="44" lean-forward="true" selection-start-line="23" selection-start-column="44" selection-end-line="23" selection-end-column="44" />
+        </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/IO/PPRecord.h">
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPNB_Classifier.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="510">
-          <caret line="36" lean-forward="true" selection-start-line="36" selection-end-line="36" />
+        <state relative-caret-position="128">
+          <caret line="165" column="27" selection-start-line="165" selection-start-column="27" selection-end-line="165" selection-end-column="27" />
+          <folding>
+            <element signature="e#0#17#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CONFIG/DAPPLE.config">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalSqrt.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="30">
-          <caret line="2" column="30" selection-start-line="2" selection-start-column="30" selection-end-line="2" selection-end-column="30" />
+        <state relative-caret-position="432">
+          <caret line="45" column="1" selection-start-line="15" selection-end-line="45" selection-end-column="1" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/PPML/IO/PPDatasetReader.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalStandardDiv.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-1081">
-          <caret line="120" column="27" lean-forward="true" selection-start-line="120" selection-start-column="27" selection-end-line="120" selection-end-column="27" />
+        <state relative-caret-position="411">
+          <caret line="50" column="76" selection-start-line="47" selection-start-column="2" selection-end-line="51" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.cpp">
+    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalProba.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="604">
-          <caret line="119" lean-forward="true" selection-start-line="119" selection-end-line="119" />
+        <state relative-caret-position="11">
+          <caret line="103" column="7" selection-start-line="103" selection-start-column="7" selection-end-line="103" selection-end-column="7" />
+          <folding>
+            <element signature="e#0#22#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalAddPow2.h">
+    <entry file="file://$PROJECT_DIR$/PPML/PPNB/PPStats.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="634">
-          <caret line="58" selection-start-line="58" selection-end-line="58" />
+        <state relative-caret-position="-2105">
+          <caret line="118" column="35" selection-start-line="118" selection-start-column="35" selection-end-line="118" selection-end-column="35" />
+          <folding>
+            <element signature="e#0#20#0" expanded="true" />
+            <element signature="e#55#214#0" />
+            <element signature="e#282#507#0" />
+            <element signature="e#510#1846#0" />
+            <element signature="e#1848#2377#0" />
+            <element signature="e#2379#2558#0" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CRYPTO/EvalCmp.cpp">
+    <entry file="file://$PROJECT_DIR$/TEST/TESTBuildingBlocks.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="874">
-          <caret line="117" column="5" lean-forward="true" selection-start-line="117" selection-start-column="5" selection-end-line="117" selection-end-column="5" />
+        <state relative-caret-position="263">
+          <caret line="484" lean-forward="true" selection-start-line="484" selection-end-line="484" />
+          <folding>
+            <element signature="e#0#31#0" expanded="true" />
+            <element signature="e#199#7476#0" />
+          </folding>
         </state>
       </provider>
     </entry>
diff --git a/CRYPTO/EvalCmp.cpp b/CRYPTO/EvalCmp.cpp
index ac6e4c2b..99cdf03d 100755
--- a/CRYPTO/EvalCmp.cpp
+++ b/CRYPTO/EvalCmp.cpp
@@ -12,7 +12,7 @@ EvalCmp ::EvalCmp(Cipher A, Cipher B , DTPKC dtpkc)
 std::vector<Cipher>
 EvalCmp::EvalCmp_U1_step1() {
 
-    auto en = chrono::high_resolution_clock::now();
+    auto begin = chrono::high_resolution_clock::now();
 
     gmp_randstate_t state;
     Cipher S1, S2, S3, S4;
@@ -69,10 +69,10 @@ EvalCmp::EvalCmp_U1_step1() {
     }
 
 
-
+    auto en = chrono::high_resolution_clock::now();
     std::chrono::duration<double, std::milli> duration = en  - begin ;
-    timeMU += duration.count();
-    bdwMU += sizeof(res.size() * mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t));
+    timeMU = duration.count();
+    bdwMU = res.size() * mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
 
     return res;
 }
@@ -101,7 +101,7 @@ bool EvalCmp::EvalCmp_U2_step2(std::vector <Cipher> res1)
      * x: A*r
      * B: B*r
      */
-    auto en = chrono::high_resolution_clock::now();
+    auto begin = chrono::high_resolution_clock::now();
     mpz_class x, y, out;
 
 #pragma omp sections
@@ -121,10 +121,10 @@ bool EvalCmp::EvalCmp_U2_step2(std::vector <Cipher> res1)
     std::this_thread::sleep_for(dtpkc.delay);
     // return the comparison output
 
-
+    auto en = chrono::high_resolution_clock::now();
     std::chrono::duration<double, std::milli> duration = en  - begin ;
-    timeSU += duration.count();
-    bdwSU += 1;
+    timeSU = duration.count();
+    bdwSU = 1;
 
 
     return  x < y ;
diff --git a/CRYPTO/EvalCmp.h b/CRYPTO/EvalCmp.h
index f1688624..837a0c22 100755
--- a/CRYPTO/EvalCmp.h
+++ b/CRYPTO/EvalCmp.h
@@ -31,7 +31,7 @@ class EvalCmp{
     mpz_class r, r2;
 
 
-
+public :
     double timeSU, timeMU;
     double bdwSU,bdwMU;
 
diff --git a/CRYPTO/EvalCmp100.cpp b/CRYPTO/EvalCmp100.cpp
index aa9c3e5a..a26eb7eb 100755
--- a/CRYPTO/EvalCmp100.cpp
+++ b/CRYPTO/EvalCmp100.cpp
@@ -59,8 +59,8 @@ EvalCmp100::EvalCmp_U1_step1() {
 
     auto en = chrono::high_resolution_clock::now();
     std::chrono::duration<double, std::milli> duration = en  - begin ;
-    timeMU += duration.count();
-    bdwMU += sizeof(mpz_class);
+    timeMU = duration.count();
+    bdwMU = res.size() * mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
     return res;
 }
 
@@ -88,6 +88,7 @@ bool EvalCmp100::EvalCmp_U2_step2(std::vector <Cipher> res1)
      * x: A*r
      * B: B*r
      */
+    auto begin = chrono::high_resolution_clock::now();
     mpz_class x, y, out;
 
             x = dtpkc.PSdec1(res1[0], res1[1]);
@@ -96,6 +97,12 @@ bool EvalCmp100::EvalCmp_U2_step2(std::vector <Cipher> res1)
 
     std::this_thread::sleep_for(dtpkc.delay);
     // return the comparison output
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = 1;
+
     return  x < y ;
 
 }
diff --git a/CRYPTO/EvalCmp100.h b/CRYPTO/EvalCmp100.h
index 054515c7..630ec969 100755
--- a/CRYPTO/EvalCmp100.h
+++ b/CRYPTO/EvalCmp100.h
@@ -30,6 +30,10 @@ class EvalCmp100{
     DTPKC dtpkc;
     mpz_class r, r2;
 
+    public:
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalDiv.cpp b/CRYPTO/EvalDiv.cpp
index e632e731..8288afc4 100755
--- a/CRYPTO/EvalDiv.cpp
+++ b/CRYPTO/EvalDiv.cpp
@@ -66,6 +66,7 @@ EvalDiv ::EvalDiv_U1_step1()
     * S9 : rx*a+rx*ry*b
     */
 
+    auto begin = chrono::high_resolution_clock::now();
     gmp_randstate_t state;
     Cipher S1, S2,S3, S4, S5, S6, S7, S8, S9;
 
@@ -97,6 +98,11 @@ EvalDiv ::EvalDiv_U1_step1()
     S5=dtpkc.PSdec0(S4);
     S6=dtpkc.PSdec0(S2);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 4 * mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
 
     return {S4,S2,S5,S6};
 
@@ -127,6 +133,8 @@ EvalDiv ::EvalDiv_U2_step2(Cipher S1,Cipher S2,Cipher S3,Cipher S4)
     // S5 : partially decrypted value of S3 using SK1
     // S6 : partially decrypted value of S4 using SK1
     // S7 : The encrypted value of (a/b + ry)
+
+    auto begin = chrono::high_resolution_clock::now();
     mpz_class S5, S6;
     Cipher S7;
 
@@ -138,6 +146,11 @@ EvalDiv ::EvalDiv_U2_step2(Cipher S1,Cipher S2,Cipher S3,Cipher S4)
     S7=dtpkc.enc(S5/S6,a.Pub);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(S7.T1.get_mpz_t())+ mpz_size(S7.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S7;
 
 }
@@ -162,7 +175,7 @@ EvalDiv ::EvalDiv_U1_step3(Cipher S7)
 {
 
 
-
+    auto begin = chrono::high_resolution_clock::now();
     Cipher S8, S88, S9;
 
     // encrypt ry
@@ -179,6 +192,12 @@ EvalDiv ::EvalDiv_U1_step3(Cipher S7)
 
 
     std::this_thread::sleep_for(dtpkc.delay);
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S9.T1.get_mpz_t())+ mpz_size(S9.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S9;
 
 }
diff --git a/CRYPTO/EvalDiv.h b/CRYPTO/EvalDiv.h
index c1a53168..e9e4866b 100755
--- a/CRYPTO/EvalDiv.h
+++ b/CRYPTO/EvalDiv.h
@@ -29,6 +29,10 @@ class EvalDiv {
     DTPKC dtpkc;
     mpz_class rx, ry;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalDiv100.cpp b/CRYPTO/EvalDiv100.cpp
index b6d1faf0..8f746477 100755
--- a/CRYPTO/EvalDiv100.cpp
+++ b/CRYPTO/EvalDiv100.cpp
@@ -14,6 +14,7 @@ std::vector<Cipher>
 EvalDiv100 ::EvalDiv_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
     gmp_randstate_t state;
     Cipher S1, S2,S3, S4, S5, S6, S7, S8, S9;
 
@@ -44,6 +45,11 @@ EvalDiv100 ::EvalDiv_U1_step1()
     S7=dtpkc.PSdec0(S4);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 4 * mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return {S9,S4,S5,S7};
 
 }
@@ -52,6 +58,8 @@ Cipher
 EvalDiv100 ::EvalDiv_U2_step2(Cipher S1,Cipher S2,Cipher S3,Cipher S4)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     mpz_class S5, S6;
     Cipher S7;
 
@@ -61,6 +69,12 @@ EvalDiv100 ::EvalDiv_U2_step2(Cipher S1,Cipher S2,Cipher S3,Cipher S4)
     S7=dtpkc.enc((10000*S5)/S6,a.Pub);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(S7.T1.get_mpz_t())+ mpz_size(S7.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return S7;
 
 }
@@ -71,6 +85,9 @@ Cipher
 EvalDiv100 ::EvalDiv_U1_step3(Cipher S7)
 {
 
+
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher S8, S88, S9;
 
     S8 = dtpkc.enc(10000*ry,a.Pub);
@@ -85,6 +102,13 @@ EvalDiv100 ::EvalDiv_U1_step3(Cipher S7)
 
     std::this_thread::sleep_for(dtpkc.delay);
 
+
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S9.T1.get_mpz_t())+ mpz_size(S9.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S9;
 
 }
diff --git a/CRYPTO/EvalDiv100.h b/CRYPTO/EvalDiv100.h
index 53e78ac0..fd5f5552 100755
--- a/CRYPTO/EvalDiv100.h
+++ b/CRYPTO/EvalDiv100.h
@@ -12,6 +12,9 @@ class EvalDiv100 {
     DTPKC dtpkc;
     mpz_class rx, ry;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalDotProd.cpp b/CRYPTO/EvalDotProd.cpp
index e542025d..02134e1c 100755
--- a/CRYPTO/EvalDotProd.cpp
+++ b/CRYPTO/EvalDotProd.cpp
@@ -15,6 +15,7 @@ EvalDotProd::EvalDotProd(std::vector<Cipher> a, std::vector<Cipher> b, int size,
 
 std::vector<Cipher> EvalDotProd::EvalDotProd_U1_step1()
 {
+    auto begin = chrono::high_resolution_clock::now();
 
     gmp_randstate_t state;
     std::vector<Cipher> res;
@@ -49,6 +50,11 @@ std::vector<Cipher> EvalDotProd::EvalDotProd_U1_step1()
 
     }
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = res.size() * mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return res;
 
 
@@ -57,6 +63,8 @@ std::vector<Cipher> EvalDotProd::EvalDotProd_U1_step1()
 Cipher EvalDotProd::EvalDotProd_U2_step2(std::vector<Cipher> val)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     mpz_class res;
     gmp_randstate_t state;
     gmp_randinit_default(state);
@@ -94,6 +102,12 @@ Cipher EvalDotProd::EvalDotProd_U2_step2(std::vector<Cipher> val)
     }
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(out.T1.get_mpz_t())+ mpz_size ( out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return out;
 
 }
@@ -102,6 +116,8 @@ Cipher EvalDotProd::EvalDotProd_U2_step2(std::vector<Cipher> val)
 Cipher EvalDotProd::EvalDotProd_U1_step3(Cipher val)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher S1;
 
     S1 = dtpkc.enc(r1*r2/r3,a[0].Pub);
@@ -112,6 +128,12 @@ Cipher EvalDotProd::EvalDotProd_U1_step3(Cipher val)
     out.sign = val.sign;
     std::this_thread::sleep_for(dtpkc.delay);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(out.T1.get_mpz_t())+ mpz_size ( out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return out;
 
 }
diff --git a/CRYPTO/EvalDotProd.h b/CRYPTO/EvalDotProd.h
index 9d1ffca2..0d1586cb 100755
--- a/CRYPTO/EvalDotProd.h
+++ b/CRYPTO/EvalDotProd.h
@@ -13,6 +13,9 @@ class EvalDotProd {
     DTPKC dtpkc;
     mpz_class r1, r2, r3;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalEntropy.cpp b/CRYPTO/EvalEntropy.cpp
index a01882ce..aad407aa 100755
--- a/CRYPTO/EvalEntropy.cpp
+++ b/CRYPTO/EvalEntropy.cpp
@@ -57,6 +57,8 @@ std::vector < Cipher>
 EvalEntropy::EvalEntropy_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     gmp_randstate_t state;
     Cipher S1, S2, S4, S5, S11, S22, S111, S1111,inter, inter2;
     int j = 0;
@@ -124,6 +126,11 @@ EvalEntropy::EvalEntropy_U1_step1()
 
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = S6K.size() * mpz_size( S6K[0].T1.get_mpz_t())+ mpz_size(S6K[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S6K;
 
 }
@@ -150,6 +157,8 @@ Cipher
 EvalEntropy::EvalEntropy_U2_step2(std::vector<Cipher> S6K)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     int i=0, j=0 ;
     std::vector<mpz_class> S7K (2+Tk.size());
     mpz_class inter;
@@ -185,6 +194,12 @@ EvalEntropy::EvalEntropy_U2_step2(std::vector<Cipher> S6K)
     blinded_result = dtpkc.enc(logrxryS - sumOfLogs, T.Pub);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(blinded_result.T1.get_mpz_t())+ mpz_size(blinded_result.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return blinded_result;
 
 }
@@ -209,6 +224,8 @@ Cipher
 EvalEntropy ::EvalEntropy_U1_step3(Cipher blinded_result)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher S8, S88, S9;
 
     // encrypt log(ry)
@@ -227,6 +244,12 @@ EvalEntropy ::EvalEntropy_U1_step3(Cipher blinded_result)
     std::this_thread::sleep_for(dtpkc.delay);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S9.T1.get_mpz_t())+ mpz_size(S9.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return S9;
 
 }
diff --git a/CRYPTO/EvalEntropy.h b/CRYPTO/EvalEntropy.h
index 6cb54e94..e7546255 100755
--- a/CRYPTO/EvalEntropy.h
+++ b/CRYPTO/EvalEntropy.h
@@ -33,6 +33,10 @@ class EvalEntropy{
     mpz_class rx, ry;
     int prec;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
     /******* Functions **********/
 
     // Constructor : used to initialise the operands
diff --git a/CRYPTO/EvalExpo.cpp b/CRYPTO/EvalExpo.cpp
new file mode 100755
index 00000000..256f92db
--- /dev/null
+++ b/CRYPTO/EvalExpo.cpp
@@ -0,0 +1,111 @@
+#include "EvalExpo.h"
+#include "EvalDiv.h"
+#include "EvalDiv100.h"
+#include <thread>
+
+EvalExpo::EvalExpo(Cipher a, int lambda, DTPKC dtpkc)
+{
+    this->u=a;
+    this->lambda=lambda;
+    this->dtpkc=dtpkc;
+}
+
+
+std::vector<Cipher>
+EvalExpo::EvalSig_U1_step1()
+{
+    auto begin  = chrono::high_resolution_clock::now();
+
+    gmp_randstate_t state;
+    Cipher S1, S2;
+
+    gmp_randinit_default(state);
+    gmp_randseed_ui(state,time(NULL));
+
+    r=mpz_class_get_z_bits(300);
+
+    gmp_randclear(state);
+
+    Cipher C_R = dtpkc.enc(mpz_class_log(r,1),u.Pub);
+
+    //cout << "C_R" << C_R << endl;
+
+    S1.T1=C_R.T1*u.T1;
+    S1.T2=C_R.T2*u.T2;
+    S1.Pub=u.Pub;
+    S1.sign = u.sign;
+
+    S2=dtpkc.PSdec0(S1);
+
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2*mpz_size(S1.T1.get_mpz_t())+ mpz_size(S1.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
+    return {S1,S2};
+
+}
+
+Cipher
+EvalExpo::EvalSig_U2_step2(Cipher S1, Cipher S2)
+{
+    auto begin  = chrono::high_resolution_clock::now();
+
+    mpz_class S3;
+    Cipher S4;
+    S3=dtpkc.PSdec1(S1,S2);
+
+
+    S4=dtpkc.enc(mpz_class_exp(S3,lambda/100),u.Pub);
+
+    //cout << "u " << u << endl;
+
+    //cout << "S3 " << S3  << endl;
+
+    //cout << "S4 " << S4  << endl;
+
+    if (S1.sign == 1){
+
+        S4.sign = 1;
+
+    }else{
+
+        S4.sign = 0;
+
+    }
+
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+    return S4;
+
+}
+
+
+
+Cipher
+EvalExpo::EvalSig_U1_step3(Cipher S4)
+{
+
+    auto begin  = chrono::high_resolution_clock::now();
+
+    Cipher S5, S6, S7, S9, S8;
+
+    S5 = dtpkc.enc(mpz_class_exp(mpz_class_log(r,1),1), u.Pub);
+
+    EvalDiv100 evalDiv(S4,S5,dtpkc);
+    std::vector <Cipher> res = evalDiv.EvalDiv_U1_step1();
+    S6 = evalDiv.EvalDiv_U1_step3(evalDiv.EvalDiv_U2_step2(res[0],res[1], res[2], res[3]));
+
+
+    S6.sign = 1;
+
+
+    return S6;
+
+}
diff --git a/CRYPTO/EvalExpo.h b/CRYPTO/EvalExpo.h
new file mode 100755
index 00000000..e7bd0019
--- /dev/null
+++ b/CRYPTO/EvalExpo.h
@@ -0,0 +1,41 @@
+#ifndef DAPPLE_EVALEXPO_H
+#define DAPPLE_EVALEXPO_H
+
+#include "DTPKC.h" // Header of the DTPKC cryptosystem's class
+#include "../UTIL/math_util.hh"
+
+class EvalExpo {
+
+
+    private :
+    Cipher u;
+    int lambda;
+    DTPKC dtpkc;
+    mpz_class r, r2;
+
+
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
+
+    /******* Functions **********/
+
+
+    public :
+    EvalExpo(Cipher a,int b, DTPKC dtpkc);
+
+
+    public :
+    std::vector<Cipher> EvalSig_U1_step1();
+
+
+    public :
+    Cipher EvalSig_U2_step2(Cipher S1,Cipher S2);
+
+
+    public :
+    Cipher EvalSig_U1_step3(Cipher S7);
+};
+
+#endif //DAPPLE_EVALSIGMOID_H
diff --git a/CRYPTO/EvalHBound.cpp b/CRYPTO/EvalHBound.cpp
index 523f9df4..71310316 100755
--- a/CRYPTO/EvalHBound.cpp
+++ b/CRYPTO/EvalHBound.cpp
@@ -54,6 +54,8 @@ EvalHBound::EvalHBound(Cipher a, Cipher b, DTPKC dtpkc)
 std::vector<Cipher> EvalHBound::EvalHBound_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     gmp_randstate_t state;
     Cipher S1, S11,S2;
 
@@ -77,6 +79,10 @@ std::vector<Cipher> EvalHBound::EvalHBound_U1_step1()
     S2=dtpkc.PSdec0(S11);
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2* mpz_size(S11.T1.get_mpz_t())+ mpz_size(S11.T2.get_mpz_t())* sizeof(mp_limb_t);
 
     return {S11,S2};
 
@@ -101,6 +107,8 @@ Cipher
 EvalHBound::EvalHBound_U2_step2(std::vector<Cipher> res1)
 {
 
+    auto begin  = chrono::high_resolution_clock::now();
+
     mpz_class x;
     Cipher res;
     // log2(c)~2 * log ( 1/ delta) / 2* T) *  r
@@ -108,6 +116,10 @@ EvalHBound::EvalHBound_U2_step2(std::vector<Cipher> res1)
     // Compute sqrt (log2(c)~2 * log ( 1/ delta) / 2* T) *  r )
     res = dtpkc.enc(mpz_class_sqrt(x),a.Pub);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(res.T1.get_mpz_t())+ mpz_size(res.T2.get_mpz_t())* sizeof(mp_limb_t);
 
     return res;
 
@@ -132,6 +144,7 @@ Cipher
 EvalHBound::EvalHbound_U1_step3(Cipher res2)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
     Cipher blindVal;
     Cipher out;
 
@@ -145,6 +158,12 @@ EvalHBound::EvalHbound_U1_step3(Cipher res2)
     out = evalDiv.EvalDiv_U1_step3(evalDiv.EvalDiv_U2_step2(res[0],res[1], res[2], res[3]));
 
     std::this_thread::sleep_for(dtpkc.delay);
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return out;
 
 }
diff --git a/CRYPTO/EvalHBound.h b/CRYPTO/EvalHBound.h
index fc31b644..cc443b7c 100755
--- a/CRYPTO/EvalHBound.h
+++ b/CRYPTO/EvalHBound.h
@@ -20,6 +20,10 @@ class EvalHBound {
     DTPKC dtpkc;
     mpz_class r;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalLog.cpp b/CRYPTO/EvalLog.cpp
index 0342590e..110ee3e9 100755
--- a/CRYPTO/EvalLog.cpp
+++ b/CRYPTO/EvalLog.cpp
@@ -16,6 +16,7 @@ std::vector<Cipher>
 EvalLog::EvalLog_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
     gmp_randstate_t state;
     Cipher S1, S2;
 
@@ -41,6 +42,11 @@ EvalLog::EvalLog_U1_step1()
 
     S2=dtpkc.PSdec0(S1);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2*mpz_size(S1.T1.get_mpz_t())+ mpz_size(S1.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return {S1,S2};
 
 }
@@ -49,11 +55,20 @@ Cipher
 EvalLog::EvalLog_U2_step2(Cipher S1, Cipher S2)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     mpz_class S3;
     Cipher S4;
     S3=dtpkc.PSdec1(S1,S2);
     S4=dtpkc.enc(mpz_class_log(S3,lambda),u.Pub);
     S4.sign = 1;
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return S4;
 
 }
@@ -65,6 +80,8 @@ EvalLog::EvalLog_U1_step3(Cipher S4)
 {
 
 
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher c, R;
     R=dtpkc.enc(mpz_class_log(r,lambda),u.Pub);
 
@@ -73,6 +90,13 @@ EvalLog::EvalLog_U1_step3(Cipher S4)
     c.Pub=u.Pub;
     std::this_thread::sleep_for(dtpkc.delay);
 
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return c;
 
 }
diff --git a/CRYPTO/EvalLog.h b/CRYPTO/EvalLog.h
index dc3a50c2..ce062419 100755
--- a/CRYPTO/EvalLog.h
+++ b/CRYPTO/EvalLog.h
@@ -13,6 +13,9 @@ class EvalLog {
     DTPKC dtpkc;
     mpz_class r, r2;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalLrUpdate.cpp b/CRYPTO/EvalLrUpdate.cpp
index 0a75cf27..6e1d14f1 100755
--- a/CRYPTO/EvalLrUpdate.cpp
+++ b/CRYPTO/EvalLrUpdate.cpp
@@ -16,6 +16,8 @@ EvalLrUpdate::EvalLrUpdate(std::vector<Cipher> a, std::vector<Cipher> b, std::ve
 std::vector<Cipher> EvalLrUpdate::EvalLrUpdate_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     gmp_randstate_t state;
     std::vector<Cipher> res;
 
@@ -86,6 +88,11 @@ std::vector<Cipher> EvalLrUpdate::EvalLrUpdate_U1_step1()
 
     }
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = res.size()*mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return res;
 
 
@@ -93,6 +100,8 @@ std::vector<Cipher> EvalLrUpdate::EvalLrUpdate_U1_step1()
 
 Cipher EvalLrUpdate::EvalLrUpdate_U2_step2(std::vector<Cipher> val) {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     mpz_class res;
     gmp_randstate_t state;
     gmp_randinit_default(state);
@@ -122,6 +131,10 @@ Cipher EvalLrUpdate::EvalLrUpdate_U2_step2(std::vector<Cipher> val) {
         out.sign = 1;
     }
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
 
     return out;
 
@@ -132,6 +145,8 @@ Cipher EvalLrUpdate::EvalLrUpdate_U2_step2(std::vector<Cipher> val) {
 Cipher EvalLrUpdate::EvalLrUpdate_U1_step3(Cipher val)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher S1;
 
     S1 = dtpkc.enc(r1*r2/r3,a[0].Pub);
@@ -146,6 +161,11 @@ Cipher EvalLrUpdate::EvalLrUpdate_U1_step3(Cipher val)
 
     std::this_thread::sleep_for(dtpkc.delay);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return out;
 
 }
diff --git a/CRYPTO/EvalLrUpdate.h b/CRYPTO/EvalLrUpdate.h
index 44c656c8..1b12fe19 100755
--- a/CRYPTO/EvalLrUpdate.h
+++ b/CRYPTO/EvalLrUpdate.h
@@ -13,6 +13,9 @@ class EvalLrUpdate {
     DTPKC dtpkc;
     mpz_class r1, r2, r3;
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalMult.cpp b/CRYPTO/EvalMult.cpp
index a8876005..95f1a9e1 100755
--- a/CRYPTO/EvalMult.cpp
+++ b/CRYPTO/EvalMult.cpp
@@ -55,6 +55,8 @@ std::vector<Cipher>
 EvalMult::EvalMult_U1_step1()
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     gmp_randstate_t state;
     Cipher S1, S2, S3, S4, S5;
     std::vector <Cipher> res(4);
@@ -86,6 +88,13 @@ EvalMult::EvalMult_U1_step1()
     res[2]=S3;
     res[3]=S5;
 
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = res.size()*mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return res;
 
 }
@@ -110,6 +119,7 @@ EvalMult::EvalMult_U1_step1()
 Cipher EvalMult::EvalMult_U2_step2(std::vector <Cipher> res1)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
     mpz_class x, y;
     Cipher out;
 
@@ -122,6 +132,11 @@ Cipher EvalMult::EvalMult_U2_step2(std::vector <Cipher> res1)
 
     out =  dtpkc.enc(x*y,A.Pub);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
 
     return  out;
 
@@ -147,6 +162,8 @@ Cipher EvalMult::EvalMult_U2_step2(std::vector <Cipher> res1)
 Cipher EvalMult::EvalMult_U1_step3(Cipher res2)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     Cipher S6, S7, S8, S9, S10;
 
     // A+B
@@ -173,6 +190,11 @@ Cipher EvalMult::EvalMult_U1_step3(Cipher res2)
 
     std::this_thread::sleep_for(dtpkc.delay);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S10.T1.get_mpz_t())+ mpz_size(S10.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S10;
 
 }
diff --git a/CRYPTO/EvalMult.h b/CRYPTO/EvalMult.h
index cf85079c..dcf598f1 100755
--- a/CRYPTO/EvalMult.h
+++ b/CRYPTO/EvalMult.h
@@ -29,7 +29,9 @@ class EvalMult{
     DTPKC dtpkc;
     mpz_class r;
 
-
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalProba.cpp b/CRYPTO/EvalProba.cpp
index f56bc3e6..708267d3 100755
--- a/CRYPTO/EvalProba.cpp
+++ b/CRYPTO/EvalProba.cpp
@@ -11,7 +11,7 @@ EvalProba::EvalProba(std::vector<Cipher> Tk, DTPKC dtpkc)
 std::vector <Cipher>
 EvalProba::EvalProba_U1_step1()
 {
-
+    auto begin = chrono::high_resolution_clock::now();
     gmp_randstate_t state;
     Cipher S1, S2, S4, S5, S11, S22, S111, S1111,inter, inter2;
     int j = 0;
@@ -45,6 +45,14 @@ EvalProba::EvalProba_U1_step1()
 
     }
 
+
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = S6K.size()*mpz_size(S6K[0].T1.get_mpz_t())+ mpz_size(S6K[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return S6K;
 
 }
@@ -53,7 +61,7 @@ Cipher
 EvalProba::EvalProba_U2_step2(std::vector<Cipher> S6K)
 {
 
-
+    auto begin = chrono::high_resolution_clock::now();
     std::vector<mpz_class> S7K (2+Tk.size());
     mpz_class inter;
     mpz_class res;
@@ -73,6 +81,12 @@ EvalProba::EvalProba_U2_step2(std::vector<Cipher> S6K)
 
     blinded_result = dtpkc.enc(res, S6K[0].Pub);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(blinded_result.T1.get_mpz_t())+ mpz_size(blinded_result.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return blinded_result;
 
 }
@@ -82,6 +96,7 @@ Cipher
 EvalProba :: EvalProba_U1_step3(Cipher blinded_result)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
     Cipher S8, S88, S9;
 
     mpz_class res = r;
@@ -97,6 +112,13 @@ EvalProba :: EvalProba_U1_step3(Cipher blinded_result)
 
     std::this_thread::sleep_for(dtpkc.delay);
 
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S9.T1.get_mpz_t())+ mpz_size(S9.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return S9;
 
 }
diff --git a/CRYPTO/EvalProba.h b/CRYPTO/EvalProba.h
index 95511178..8b8dc21d 100755
--- a/CRYPTO/EvalProba.h
+++ b/CRYPTO/EvalProba.h
@@ -12,6 +12,11 @@ class EvalProba{
     DTPKC dtpkc;
     mpz_class r;
 
+
+    public:
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
     public :
     EvalProba(std::vector<Cipher> Tk, DTPKC dtpkc);
 
diff --git a/CRYPTO/EvalSigmoid.cpp b/CRYPTO/EvalSigmoid.cpp
index 6b2be963..0cabbab6 100755
--- a/CRYPTO/EvalSigmoid.cpp
+++ b/CRYPTO/EvalSigmoid.cpp
@@ -14,6 +14,7 @@ EvalSigmoid::EvalSigmoid(Cipher a, int lambda, DTPKC dtpkc)
 std::vector<Cipher>
 EvalSigmoid::EvalSig_U1_step1()
 {
+    auto begin  = chrono::high_resolution_clock::now();
 
     gmp_randstate_t state;
     Cipher S1, S2;
@@ -36,6 +37,13 @@ EvalSigmoid::EvalSig_U1_step1()
 
     S2=dtpkc.PSdec0(S1);
 
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2*mpz_size(S1.T1.get_mpz_t())+ mpz_size(S1.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return {S1,S2};
 
 }
@@ -43,6 +51,7 @@ EvalSigmoid::EvalSig_U1_step1()
 Cipher
 EvalSigmoid::EvalSig_U2_step2(Cipher S1, Cipher S2)
 {
+    auto begin  = chrono::high_resolution_clock::now();
 
     mpz_class S3;
     Cipher S4;
@@ -68,6 +77,11 @@ EvalSigmoid::EvalSig_U2_step2(Cipher S1, Cipher S2)
     }
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(S4.T1.get_mpz_t())+ mpz_size(S4.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S4;
 
 }
@@ -78,6 +92,8 @@ Cipher
 EvalSigmoid::EvalSig_U1_step3(Cipher S4)
 {
 
+    auto begin  = chrono::high_resolution_clock::now();
+
     Cipher S5, S6, S7, S9, S8;
 
     S5 = dtpkc.enc(mpz_class_exp(mpz_class_log(r,1),1), u.Pub);
@@ -125,6 +141,11 @@ EvalSigmoid::EvalSig_U1_step3(Cipher S4)
 
     std::this_thread::sleep_for(dtpkc.delay);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(S9.T1.get_mpz_t())+ mpz_size(S9.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return S9;
 
 }
diff --git a/CRYPTO/EvalSigmoid.h b/CRYPTO/EvalSigmoid.h
index 9694d8af..2738016c 100755
--- a/CRYPTO/EvalSigmoid.h
+++ b/CRYPTO/EvalSigmoid.h
@@ -14,6 +14,11 @@ class EvalSigmoid {
     mpz_class r, r2;
 
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
+
     /******* Functions **********/
 
 
diff --git a/CRYPTO/EvalSqrt.cpp b/CRYPTO/EvalSqrt.cpp
new file mode 100755
index 00000000..af117b16
--- /dev/null
+++ b/CRYPTO/EvalSqrt.cpp
@@ -0,0 +1,165 @@
+/**
+** Class :  EvalHBound
+ * Authors : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+** Purpose : Compute the hoeffding bound
+ *
+**/
+
+
+#include <thread>
+#include "EvalSqrt.h"
+
+
+/**
+** Function : EvalHBound
+ * Author : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+ *
+** Purpose : This is the constructor of the class, it is used to initialise the operands
+ *
+ * Parameters :
+ * a : first operand ( log2(c)~2 * log ( 1/ delta) )
+ * b : second operand (T : Total number of occurences )
+ * dtpkc : used to get the DTPKC parameters
+ *
+ * Unit Test : (TEST/TestBuildingBlocks)
+ *
+**/
+
+EvalSqrt:: EvalSqrt(Cipher a, DTPKC dtpkc)
+{
+    this->a=a;
+    this->dtpkc=dtpkc;
+}
+
+/**
+** Function : EvalHBound_U1_step1
+ * Author : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+ *
+** Purpose : The first step of the secure HBound computation protocol : This part of the code is run by U1
+ *
+ * Parameters :
+ * none
+ *
+ * Unit Test : (TEST/TestBuildingBlocks)
+ *
+**/
+
+std::vector<Cipher>  EvalSqrt::EvalHBound_U1_step1()
+{
+
+    auto begin = chrono::high_resolution_clock::now();
+
+    gmp_randstate_t state;
+    Cipher S1, S11,S2;
+
+
+    gmp_randinit_default(state);
+    gmp_randseed_ui(state,time(NULL));
+    r=mpz_class_get_z_bits(dtpkc.blindVal);
+
+    gmp_randclear(state);
+
+
+
+    S11.T1=mpz_class_powm(a.T1,r,dtpkc.n2);
+    S11.T2=mpz_class_powm(a.T2,r,dtpkc.n2);
+    S11.Pub=a.Pub;
+
+    // Partially decrypt (log2(c)~2 * log ( 1/ delta) / 2* T) *  r
+    S2=dtpkc.PSdec0(S11);
+
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2* mpz_size(S11.T1.get_mpz_t())+ mpz_size(S11.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+    return {S11,S2};
+
+}
+
+/**
+** Function : EvalHBound_U2_step2
+ * Author : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+ *
+** Purpose : The second step of the secure HBound computation protocol : This part of the code is run by U2
+ *
+ * Parameters :
+ * res1 : results of the last step sent by U1
+ *
+ * Unit Test : (TEST/TestBuildingBlocks)
+ *
+**/
+
+Cipher
+EvalSqrt::EvalHBound_U2_step2(std::vector<Cipher> res1)
+{
+
+    auto begin  = chrono::high_resolution_clock::now();
+
+    mpz_class x;
+    Cipher res;
+    // log2(c)~2 * log ( 1/ delta) / 2* T) *  r
+    x=dtpkc.PSdec1(res1[0],res1[1]);
+    // Compute sqrt (log2(c)~2 * log ( 1/ delta) / 2* T) *  r )
+    res = dtpkc.enc(mpz_class_sqrt(x),a.Pub);
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(res.T1.get_mpz_t())+ mpz_size(res.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+    return res;
+
+}
+
+/**
+** Function : EvalHbound_U1_step3
+ * Author : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+ *
+** Purpose : The third step of the secure HBound computation protocol : This part of the code is run by U1
+ *
+ * Parameters :
+ * res :  the result of the previous step sent by U2
+ *
+ * Unit Test : (TEST/TestBuildingBlocks)
+ *
+**/
+
+Cipher
+EvalSqrt::EvalHbound_U1_step3(Cipher res2)
+{
+
+    auto begin = chrono::high_resolution_clock::now();
+    Cipher blindVal;
+    Cipher out;
+
+    // sqrt (r)
+    blindVal = dtpkc.enc(mpz_class_sqrt(r), a.Pub);
+
+    // divide by sqrt (r) to get Hbound
+    EvalDiv evalDiv(res2,blindVal,dtpkc);
+    std::vector <Cipher> res = evalDiv.EvalDiv_U1_step1();
+
+    out = evalDiv.EvalDiv_U1_step3(evalDiv.EvalDiv_U2_step2(res[0],res[1], res[2], res[3]));
+
+    std::this_thread::sleep_for(dtpkc.delay);
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
+    return out;
+
+}
diff --git a/CRYPTO/EvalSqrt.h b/CRYPTO/EvalSqrt.h
new file mode 100755
index 00000000..2bbd8422
--- /dev/null
+++ b/CRYPTO/EvalSqrt.h
@@ -0,0 +1,48 @@
+/**
+** Class :  EvalHBound
+ * Authors : Talbi Rania
+** Creation date : 27/11/2018
+** Last Update : 27/11/2018
+** Purpose : Compute the hoeffding bound
+ *
+**/
+
+
+#ifndef DAPPLE_EVALSQRT_H
+#define DAPPLE_EVALSQRT_H
+#include "DTPKC.h" // Header of the DTPKC cryptosystem's class
+#include "EvalDiv.h"
+
+class EvalSqrt {
+
+    private :
+    Cipher a, b;
+    DTPKC dtpkc;
+    mpz_class r;
+
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
+
+    /******* Functions **********/
+
+    // Constructor : used to initialise the operands
+    public :
+    EvalSqrt(Cipher a, DTPKC dtpkc);
+
+    // The first step of the secure HBound computation protocol : This part of the code is run by U1
+    public :
+    std::vector<Cipher> EvalHBound_U1_step1();
+
+    // The second step of the secure HBound computation protocol : This part of the code is run by U2
+    public :
+    Cipher EvalHBound_U2_step2(std::vector<Cipher> res1);
+
+    // The third step of the secure HBound computation protocol : This part of the code is run by U1
+    public :
+    Cipher EvalHbound_U1_step3(Cipher res2);
+
+};
+
+#endif //DAPPLE_EVALHBOUND_H
diff --git a/CRYPTO/EvalStandardDiv.cpp b/CRYPTO/EvalStandardDiv.cpp
index aa139992..420b54f1 100755
--- a/CRYPTO/EvalStandardDiv.cpp
+++ b/CRYPTO/EvalStandardDiv.cpp
@@ -14,6 +14,8 @@ EvalStandardDiv::EvalStandardDiv(Cipher a, Cipher b, Cipher c, DTPKC dtpkc)
 
 std::vector<Cipher> EvalStandardDiv::EvalStandardDiv_U1_step1()
 {
+    auto begin = chrono::high_resolution_clock::now();
+
     gmp_randstate_t state;
     Cipher S1, S2,S3, o1, o2, o;
 
@@ -43,6 +45,11 @@ std::vector<Cipher> EvalStandardDiv::EvalStandardDiv_U1_step1()
     // Partially decrypt r *(o1 -o2)
     S3=dtpkc.PSdec0(S1);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2*mpz_size(S1.T1.get_mpz_t())+ mpz_size(S1.T2.get_mpz_t())* sizeof(mp_limb_t);
+
 
     return {S1,S3};
 
@@ -52,6 +59,8 @@ Cipher
 EvalStandardDiv::EvalStandardDiv_U2_step2(std::vector<Cipher> res1)
 {
 
+    auto begin = chrono::high_resolution_clock::now();
+
     mpz_class x;
     Cipher out;
 
@@ -59,6 +68,11 @@ EvalStandardDiv::EvalStandardDiv_U2_step2(std::vector<Cipher> res1)
 
     out  = dtpkc.enc(mpz_class_sqrt(x),A.Pub);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return out;
 
 }
@@ -67,6 +81,7 @@ EvalStandardDiv::EvalStandardDiv_U2_step2(std::vector<Cipher> res1)
 Cipher
 EvalStandardDiv::EvalStandardDiv_U1_step3(Cipher res2)
 {
+    auto begin = chrono::high_resolution_clock::now();
     Cipher blindVal;
     // compute sqrt of r
     blindVal = dtpkc.enc(mpz_class_sqrt(r), A.Pub);
@@ -77,6 +92,10 @@ EvalStandardDiv::EvalStandardDiv_U1_step3(Cipher res2)
     Cipher out = evalDiv.EvalDiv_U1_step3(evalDiv.EvalDiv_U2_step2(res[0],res[1], res[2], res[3]));
     std::this_thread::sleep_for(dtpkc.delay);
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
 
     return  out;
 
diff --git a/CRYPTO/EvalStandardDiv.h b/CRYPTO/EvalStandardDiv.h
index f413faa5..e697704c 100755
--- a/CRYPTO/EvalStandardDiv.h
+++ b/CRYPTO/EvalStandardDiv.h
@@ -13,6 +13,9 @@ private :
     DTPKC dtpkc;
     mpz_class r;
 
+public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/CRYPTO/EvalThreashold.cpp b/CRYPTO/EvalThreashold.cpp
index e155b5a3..24f1ba9b 100755
--- a/CRYPTO/EvalThreashold.cpp
+++ b/CRYPTO/EvalThreashold.cpp
@@ -18,6 +18,7 @@ EvalThreashold::eval()
         mpz_class m;
         Cipher S1, res ;
 
+    auto begin = chrono::high_resolution_clock::now();
 
     A.T1 = mpz_class_powm(A.T1, 100, dtpkc.n2);
     A.T2 = mpz_class_powm(A.T2, 100, dtpkc.n2);
@@ -27,30 +28,50 @@ EvalThreashold::eval()
     B.T2 = mpz_class_powm(B.T2, 100, dtpkc.n2);
     B.Pub = B.Pub;
 
-
     m= NormalCDFInverse(x)*100.0;
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+
         if (m > 0 ) {
             //cout << "m =" << m << endl;
             // -B*m*100
+            begin = chrono::high_resolution_clock::now();
+
             S1.T1 = mpz_class_powm(B.T1, m, dtpkc.n2);
             S1.T2 = mpz_class_powm(B.T2, m, dtpkc.n2);
             S1.Pub = B.Pub;
 
+            en = chrono::high_resolution_clock::now();
+            std::chrono::duration<double, std::milli> duration = en  - begin ;
+            timeMU += duration.count();
 
             //cout << "B =" << B << endl;
 
             EvalDiv div(S1, dtpkc.enc(100, B.Pub), dtpkc);
+
+
             std::vector<DTPKC::Cipher> re = div.EvalDiv_U1_step1();
             S1 = div.EvalDiv_U1_step3(div.EvalDiv_U2_step2(re[0], re[1], re[2], re[3]));
 
-            //cout << "S1 =" << S1 << endl;
+            timeMU += div.timeMU;
+            timeSU = div.timeSU;
+
+
+                    //cout << "S1 =" << S1 << endl;
 
             // Add mean to B*m
+            begin = chrono::high_resolution_clock::now();
+
             res.T1 = S1.T1 * A.T1;
             res.T2 = S1.T2 * A.T2;
             res.Pub = A.Pub;
 
+            en = chrono::high_resolution_clock::now();
+            std::chrono::duration<double, std::milli> duration2 = en  - begin ;
+            timeMU += duration2.count();
+
             //cout << "A =" << A << endl;
 
 
@@ -64,15 +85,20 @@ EvalThreashold::eval()
             S1.T2 = mpz_class_powm(B.T2, -m, dtpkc.n2);
             S1.Pub = B.Pub;
 
-
+            std::chrono::duration<double, std::milli> duration = en  - begin ;
+            timeMU += duration.count();
             //cout << "B =" << B << endl;
 
             EvalDiv div(S1, dtpkc.enc(100, B.Pub), dtpkc);
             std::vector<DTPKC::Cipher> re = div.EvalDiv_U1_step1();
             S1 = div.EvalDiv_U1_step3(div.EvalDiv_U2_step2(re[0], re[1], re[2], re[3]));
-
+            timeMU += div.timeMU;
+            timeSU = div.timeSU;
 
             //cout << "A =" << A << endl;
+            begin = chrono::high_resolution_clock::now();
+
+
 
             if (A > S1 || A == S1) {
 
@@ -96,6 +122,9 @@ EvalThreashold::eval()
                 res.Pub = A.Pub;
             }
 
+
+            std::chrono::duration<double, std::milli> duration2 = en  - begin ;
+            timeMU += duration2.count();
         }
 
 
diff --git a/CRYPTO/EvalThreashold.h b/CRYPTO/EvalThreashold.h
index f4dce3b3..8bbd870e 100755
--- a/CRYPTO/EvalThreashold.h
+++ b/CRYPTO/EvalThreashold.h
@@ -13,6 +13,11 @@ class EvalThreashold{
     DTPKC dtpkc;
 
 
+    public :
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
+
+
     /******* Functions **********/
 
     public :
diff --git a/CRYPTO/SkeySwitch.cpp b/CRYPTO/SkeySwitch.cpp
index c0899ab1..7e4893b9 100755
--- a/CRYPTO/SkeySwitch.cpp
+++ b/CRYPTO/SkeySwitch.cpp
@@ -21,7 +21,7 @@ SkeySwitch::SkeySwitch(Cipher A, mpz_class pkey, DTPKC dtpkc)
 std::vector<Cipher>
 SkeySwitch ::SkeySwitch_U1_step1()
 {
-
+    auto begin = chrono::high_resolution_clock::now();
     gmp_randstate_t state;
     Cipher S1, S2, S3, S4;
     std::vector <Cipher> res(4);
@@ -48,13 +48,19 @@ SkeySwitch ::SkeySwitch_U1_step1()
     res[1]=S3;
 
 
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU = duration.count();
+    bdwMU = 2*mpz_size(res[0].T1.get_mpz_t())+ mpz_size(res[0].T2.get_mpz_t())* sizeof(mp_limb_t);
+
+
     return res;
 
 }
 
 Cipher SkeySwitch::SkeySwitch_U2_step2(std::vector<Cipher> res1)
 {
-
+    auto begin = chrono::high_resolution_clock::now();
     mpz_class x;
     Cipher out;
 
@@ -63,7 +69,11 @@ Cipher SkeySwitch::SkeySwitch_U2_step2(std::vector<Cipher> res1)
 
     out = dtpkc.enc(x,pkey);
 
-    bd += sizeof(out);
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeSU = duration.count();
+    bdwSU = mpz_size(out.T1.get_mpz_t())+ mpz_size(out.T2.get_mpz_t())* sizeof(mp_limb_t);
+
 
     return  out;
 
@@ -71,6 +81,7 @@ Cipher SkeySwitch::SkeySwitch_U2_step2(std::vector<Cipher> res1)
 
 Cipher SkeySwitch::SkeySwitch_U1_step3(Cipher res2)
 {
+    auto begin = chrono::high_resolution_clock::now();
     Cipher S4, S5, res;
 
     S4 = dtpkc.enc(r,pkey);
@@ -87,6 +98,12 @@ Cipher SkeySwitch::SkeySwitch_U1_step3(Cipher res2)
 
 
     std::this_thread::sleep_for(dtpkc.delay);
+
+    auto en = chrono::high_resolution_clock::now();
+    std::chrono::duration<double, std::milli> duration = en  - begin ;
+    timeMU += duration.count();
+    bdwMU += mpz_size(res.T1.get_mpz_t())+ mpz_size(res.T2.get_mpz_t())* sizeof(mp_limb_t);
+
     return  res;
 
 }
diff --git a/CRYPTO/SkeySwitch.h b/CRYPTO/SkeySwitch.h
index 5252604e..5cab74e2 100755
--- a/CRYPTO/SkeySwitch.h
+++ b/CRYPTO/SkeySwitch.h
@@ -23,7 +23,8 @@ class SkeySwitch{
     mpz_class r;
 
     public :
-    int bd;
+    double timeSU, timeMU;
+    double bdwSU,bdwMU;
 
     /******* Functions **********/
 
diff --git a/TEST/TESTBuildingBlocks.cpp b/TEST/TESTBuildingBlocks.cpp
index 00222607..2d78981b 100755
--- a/TEST/TESTBuildingBlocks.cpp
+++ b/TEST/TESTBuildingBlocks.cpp
@@ -3,6 +3,9 @@
 #include "../CRYPTO/EvalThreashold.h"
 #include "../CRYPTO/EvalLrUpdate.h"
 #include "../CRYPTO/EvalLog.h"
+#include "../CRYPTO/EvalSqrt.h"
+#include "../CRYPTO/EvalExpo.h"
+
 using namespace std;
 
 int TESTBuildingBlocks::validate(DTPKC dtpkc)
@@ -87,6 +90,19 @@ int TESTBuildingBlocks::validate(DTPKC dtpkc)
     state = (abs(int(hbound - C.get_ui())) < 300) ? " passed":" failed";
     //cout<<"Test(" << cpt << ") <<HBound>> gave : " << C.get_str() << " expected result : " << hbound << " state :" << state <<   endl;
     if (abs(int(hbound - C.get_ui())) > 300) cptF++;
+
+
+/**
+* Test EvalSqrt
+*/
+
+
+
+    ///state = (abs(int(hbound - C.get_ui())) < 300) ? " passed":" failed";
+    //cout<<"Test(" << cpt << ") <<HBound>> gave : " << C.get_str() << " expected result : " << hbound << " state :" << state <<   endl;
+    //if (abs(int(hbound - C.get_ui())) > 300) cptF++;
+
+
 /**
 * Test EvalAdd
 */
@@ -346,7 +362,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
 
 
     state = (A<B == r) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") : <<comparison>> gave : " << r << " state :" << state << endl;
+    cout<<"Test(" << cpt << ") : <<comparison>> gave : " << r << " state :" << state << " Time MU " << evalCmp.timeMU << " Time SU " << evalCmp.timeSU << " bdw MU " << evalCmp.bdwMU << " bdw SU " << evalCmp.bdwSU << endl;
     if (A<B != r) cptF++;
 
 /**
@@ -362,8 +378,27 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     int hbound = (VFDT_Classifier::HBound(log2(3),log(1/0.00001),1000) * 10000 ) ;
 
     state = (abs(int(hbound - C.get_ui())) < 300) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<HBound>> gave : " << C.get_str() << " expected result : " << hbound << " state :" << state <<   endl;
+    cout<<"Test(" << cpt << ") <<HBound>> gave : " << C.get_str() << " expected result : " << hbound << " state :" << state << " Time MU " << evalHBound.timeMU << " Time SU " << evalHBound.timeSU << " bdw MU " << evalHBound.bdwMU << " bdw SU " << evalHBound.bdwSU << endl;
+    if (abs(int(hbound - C.get_ui())) > 300) cptF++;
+
+
+
+    /**
+* Test EvalSqrt
+*/
+
+    cpt ++;
+
+
+    EvalSqrt evalsqrt (C_A,dtpkc);
+    C_C = evalsqrt.EvalHbound_U1_step3(evalsqrt.EvalHBound_U2_step2(evalsqrt.EvalHBound_U1_step1()));
+    C= dtpkc.Sdec(C_C);
+    int sqrt_ = (VFDT_Classifier::HBound(log2(3),log(1/0.00001),1000) * 10000 ) ;
+
+    //state = (abs(int(hbound - C.get_ui())) < 300) ? " passed":" failed";
+    cout<<"Test(" << cpt << ") <<SQRT>> gave : " << C.get_str() << " expected result : " << sqrt_ << " state :" << state << " Time MU " << evalsqrt.timeMU << " Time SU " << evalsqrt.timeSU << " bdw MU " << evalsqrt.bdwMU << " bdw SU " << evalsqrt.bdwSU << endl;
     if (abs(int(hbound - C.get_ui())) > 300) cptF++;
+
 /**
 * Test EvalAdd
 */
@@ -401,7 +436,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C=dtpkc.Sdec(C_C);
 
     state = (abs (A/B - C.get_ui()) < 300) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<division>> gave : " << C.get_str() << " expected rusult " << A/B << " state :" << state << endl;
+    cout<<"Test(" << cpt << ") <<division>> gave : " << C.get_str() << " expected result " << A/B << " state :" << state << " Time MU " << div.timeMU << " Time SU " << div.timeSU << " bdw MU " << div.bdwMU << " bdw SU " << div.bdwSU << endl;
     if (abs (A/B - C.get_ui()) > 300) cptF++;
 
 /**
@@ -427,7 +462,25 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
 
     double result = VFDT_Classifier::Entropy(t,inter)*10000;
     state = ( result - C < 300 ) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<Entropy>> gave : " << C.get_str()  << " exepcted result = "<<result << " state : " << state << endl;
+    cout<<"Test(" << cpt << ") <<Entropy>> gave : " << C.get_str()  << " exepcted result = "<<result << " state : " << state << " Time MU " << evalEntropy.timeMU << " Time SU " << evalEntropy.timeSU << " bdw MU " << evalEntropy.bdwMU << " bdw SU " << evalEntropy.bdwSU << endl;
+    if (result - C > 300) cptF++;
+
+
+
+    /**
+* Test EvalProba
+*/
+
+    // Read operands
+
+    cpt ++;
+    EvalProba evalProba (classses,dtpkc);
+    C_C= evalProba.EvalProba_U1_step3(evalProba.EvalProba_U2_step2(evalProba.EvalProba_U1_step1()));
+    C=dtpkc.Sdec(C_C);
+
+    //double result = VFDT_Classifier::Entropy(t,inter)*10000;
+    //state = ( result - C < 300 ) ? " passed":" failed";
+    cout<<"Test(" << cpt << ") <<EvalProba>> gave : " << C.get_str()  << " exepcted result = "<<result << " state : " << state << " Time MU " << evalProba.timeMU << " Time SU " << evalProba.timeSU << " bdw MU " << evalProba.bdwMU << " bdw SU " << evalProba.bdwSU << endl;
     if (result - C > 300) cptF++;
 
 /**
@@ -441,7 +494,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C = dtpkc.Sdec(C_C);
 
     state = ( C == A ) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<Key Switch>> gave : " << C.get_str() << " state : " << state << endl;
+    cout<<"Test(" << cpt << ") <<Key Switch>> gave : " << C.get_str() << " state : " << state << " Time MU " << skeySwitch.timeMU << " Time SU " << skeySwitch.timeSU << " bdw MU " << skeySwitch.bdwMU << " bdw SU " << skeySwitch.bdwSU << endl;
     if ( C != A ) cptF++;
 
 /**
@@ -454,7 +507,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C = dtpkc.Sdec(C_C);
 
     state = ( C == A*B) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<Multplication>> gave : " << C.get_str() << " state : " << state << endl;
+    cout<<"Test(" << cpt << ") <<Multplication>> gave : " << C.get_str() << " state : " << state << " Time MU " << e1.timeMU << " Time SU " << e1.timeSU << " bdw MU " << e1.bdwMU << " bdw SU " << e1.bdwSU << endl;
     if ( C != A*B) cptF++;
 
 
@@ -469,7 +522,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C = dtpkc.Sdec(C_C);
     mpz_class inter2 =  A+mpz_class_powm(B,2,1000000000000000);
     state = ( C == inter2 ) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<AddPowerOf2>> gave : " << C.get_str()  <<" expected result : " <<  inter2.get_str( 10 )<< " state : " << state <<  endl;
+    cout<<"Test(" << cpt << ") <<AddPowerOf2>> gave : " << C.get_str()  <<" expected result : " <<  inter2.get_str( 10 )<< " state : " << state << " Time MU " << evalAddPow2.timeMU << " Time SU " << evalAddPow2.timeSU << " bdw MU " << evalAddPow2.bdwMU << " bdw SU " << evalAddPow2.bdwSU << endl;
     if (  C != inter2 ) cptF++;
 
 /**
@@ -486,7 +539,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C = dtpkc.Sdec(C_C);
     int l = sqrt(1000000-pow(200,2));
     state = ( C == l) ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<standard div>> gave : " << C.get_str() <<" expected result = " << l << " state : " << state <<  endl;
+    cout<<"Test(" << cpt << ") <<standard div>> gave : " << C.get_str() <<" expected result = " << l << " state : " << state << " Time MU " << evalStadardDiv.timeMU << " Time SU " << evalStadardDiv.timeSU << " bdw MU " << evalStadardDiv.bdwMU << " bdw SU " << evalStadardDiv.bdwSU << endl;
     if (C != l) cptF++;
 
 /**
@@ -505,7 +558,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
     C = dtpkc.Sdec(C_C);
     double m = (1000+280*NormalCDFInverse(x))*100;
     state = ( C-m<300 )  ? " passed":" failed";
-    cout<<"Test(" << cpt << ") <<EvalTh>> gave : " << C.get_str() << " expected result =" << m << " state : " << state << endl;
+    cout<<"Test(" << cpt << ") <<EvalTh>> gave : " << C.get_str() << " expected result =" << m << " state : " << state << " Time MU " << evalThreashold.timeMU << " Time SU " << evalThreashold.timeSU << " bdw MU " << evalThreashold.bdwMU << " bdw SU " << evalThreashold.bdwSU << endl;
     if ( C-m>300 ) cptF++;
 
 
@@ -539,11 +592,29 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
 
     if (abs(int(evalSigmoid.sigmoid(x,100)*100-C.get_ui())) > 300 ) cptF++;
 
-    cout<<"Test(" << cpt << ") <<Sigmoid> gave : " << C.get_str() << " expected result " << evalSigmoid.sigmoid(-x,100)<< " state :" << state << endl;
+    cout<<"Test(" << cpt << ") <<Sigmoid> gave : " << C.get_str() << " expected result " << evalSigmoid.sigmoid(-x,100)<< " state :" << state << " Time MU " << evalSigmoid.timeMU << " Time SU " << evalSigmoid.timeSU << " bdw MU " << evalSigmoid.bdwMU << " bdw SU " << evalSigmoid.bdwSU << endl;
+
+
+
+    /**
+  * Test Expo
+  */
+
+    cpt ++;
+    EvalExpo evalExpo (C_A,100,dtpkc);
+    vector<Cipher> in_ = evalExpo.EvalSig_U1_step1();
+    C_C=evalExpo.EvalSig_U1_step3(evalExpo.EvalSig_U2_step2(in_[0],in_[1]));
+    C=dtpkc.Sdec(C_C);
+
+    //state = (abs(int(evalSigmoid.sigmoid(x,100)*100- C.get_ui())) < 300 ) ? " passed":" failed";
+
+    //if (abs(int(evalSigmoid.sigmoid(x,100)*100-C.get_ui())) > 300 ) cptF++;
 
+    cout<<"Test(" << cpt << ") <<Expo> gave : " << " expected result " << " state :" << state << " Time MU " << evalExpo.timeMU << " Time SU " << evalExpo.timeSU << " bdw MU " << evalExpo.bdwMU << " bdw SU " << evalExpo.bdwSU << endl;
 
 
 
+    //////////////////////
     x=194;
     C_x = dtpkc.enc(x,dtpkc.pkw);
     C_x.sign=1;
@@ -557,7 +628,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
 
     if (abs(log(1+x)*100-C.get_ui()) > 300 ) cptF++;
 
-    cout<<"Test(" << cpt << ") <<EvalLog> gave : " << C.get_str() << " expected result " <<log(10000+x)*10000<< " state :" << state << endl;
+    cout<<"Test(" << cpt << ") <<EvalLog> gave : " << C.get_str() << " expected result " <<log(10000+x)*10000<< " state :" << state << " Time MU " << evalLog.timeMU << " Time SU " << evalLog.timeSU << " bdw MU " << evalLog.bdwMU << " bdw SU " << evalLog.bdwSU << endl;
 
     /**
      * Testing the LRUpdate protocol
@@ -630,7 +701,7 @@ void TESTBuildingBlocks::run (bool deserialize, int keysize, int prec, int error
 
     if (abs(int(output2.get_ui()- C.get_ui())) > 3 ) cptF++;
 
-    cout<<"Test(" << cpt << ") <<Dot Product> gave : " << C.get_str() << " expected result " << output2 << " state :" << state << endl;
+    cout<<"Test(" << cpt << ") <<Dot Product> gave : " << C.get_str() << " expected result " << output2 << " state :" << state << " Time MU " << evalDotProd.timeMU << " Time SU " << evalDotProd.timeSU << " bdw MU " << evalDotProd.bdwMU << " bdw SU " << evalDotProd.bdwSU << endl;
     //cout << dtpkc.n << endl;
 
 /**
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
index 75797c80..f75641bc 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/CXX.includecache
@@ -34,6 +34,26 @@ netinet/in.h
 chrono
 -
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
@@ -42,15 +62,53 @@ DTPKC.h
 DTPKC.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 
-/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.cpp
-EvalSigmoid.h
-/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 EvalDiv.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
 EvalDiv100.h
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
-thread
--
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 
 /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
 DTPKC.h
@@ -58,6 +116,170 @@ DTPKC.h
 ../UTIL/math_util.hh
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+vector
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+fstream
+-
+stdio.h
+-
+string.h
+-
+vector
+-
+cstring
+-
+Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+time.h
+-
+string
+-
+omp.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/omp.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+vector
+-
+iostream
+-
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+NodeStats.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+NodeTest.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.h
+iostream
+-
+map
+-
+iterator
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+gmpxx.h
+-
+gmp.h
+-
+../../UTIL/util_gmp_rand.h
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+../../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+../../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.h
+map
+-
+../IO/Record.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/Record.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+netinet/in.h
+-
+../IO/DatasetReader.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/IO/DatasetReader.h
+Node.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.h
+../../UTIL/math_util.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+math.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/math.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.cpp
+TESTBuildingBlocks.h
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+../ML/VFDT/VFDT_Classifier.h
+/home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.h
+../CRYPTO/EvalThreashold.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
+../CRYPTO/EvalLrUpdate.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
+../CRYPTO/EvalLog.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
+../CRYPTO/EvalSqrt.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.h
+../CRYPTO/EvalExpo.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.h
+
+/home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.h
+iostream
+-
+../CRYPTO/DTPKC.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+../CRYPTO/EvalAdd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAdd.h
+../CRYPTO/EvalSub.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
+../CRYPTO/EvalDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+../CRYPTO/EvalDiv100.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+../CRYPTO/EvalEntropy.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+../CRYPTO/EvalProba.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
+../CRYPTO/EvalHBound.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
+../CRYPTO/SkeySwitch.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.h
+../CRYPTO/EvalCmp.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalCmp.h
+../CRYPTO/EvalMult.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
+../CRYPTO/EvalAddPow2.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalAddPow2.h
+../CRYPTO/EvalStandardDiv.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
+../CRYPTO/EvalSigmoid.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+../CRYPTO/EvalDotProd.h
+/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
+../UTIL/mpz_class.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+../UTIL/num_th_alg.hh
+/home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+
 /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
 vector
 -
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake b/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
index 67cc1ddf..582c156e 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/DependInfo.cmake
@@ -13,12 +13,14 @@ set(CMAKE_DEPENDS_CHECK_CXX
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o"
+  "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o"
+  "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o"
   "/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub2.cpp" "/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o"
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
index 5b65d2df..13114916 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/build.make
@@ -174,9 +174,22 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.s: cmake_force
 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.s"
 	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.cpp -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.s
 
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/EvalExpo.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o"
+	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp
+
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.i"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp > CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.i
+
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.s"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.s
+
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o: ../CRYPTO/EvalHBound.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.i: cmake_force
@@ -189,7 +202,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o: ../CRYPTO/EvalLog.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.i: cmake_force
@@ -202,7 +215,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o: ../CRYPTO/EvalLrUpdate.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.i: cmake_force
@@ -215,7 +228,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o: ../CRYPTO/EvalMult.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.i: cmake_force
@@ -228,7 +241,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o: ../CRYPTO/EvalProba.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.i: cmake_force
@@ -241,7 +254,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o: ../CRYPTO/EvalSigmoid.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.i: cmake_force
@@ -252,9 +265,22 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.s: cmake_force
 	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.s"
 	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.cpp -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.s
 
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../CRYPTO/EvalSqrt.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o"
+	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp
+
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.i"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp > CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.i
+
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.s"
+	/usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.s
+
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o: ../CRYPTO/EvalStandardDiv.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.i: cmake_force
@@ -267,7 +293,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o: ../CRYPTO/EvalSub.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.i: cmake_force
@@ -280,7 +306,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o: ../CRYPTO/EvalSub2.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub2.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.i: cmake_force
@@ -293,7 +319,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o: ../CRYPTO/EvalThreashold.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.i: cmake_force
@@ -306,7 +332,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o: ../CRYPTO/SkeySwitch.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Building CXX object CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/SkeySwitch.cpp
 
 CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.i: cmake_force
@@ -319,7 +345,7 @@ CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o: ../ML/NB/NB_Classifier.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Building CXX object CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_23) "Building CXX object CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/NB/NB_Classifier.cpp
 
 CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.i: cmake_force
@@ -332,7 +358,7 @@ CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o: ../ML/NB/Stats.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Building CXX object CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_24) "Building CXX object CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/NB/Stats.cpp
 
 CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.i: cmake_force
@@ -345,7 +371,7 @@ CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o: ../ML/VFDT/Node.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_23) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_25) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/Node.cpp
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.i: cmake_force
@@ -358,7 +384,7 @@ CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o: ../ML/VFDT/NodeStats.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_24) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_26) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeStats.cpp
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.i: cmake_force
@@ -371,7 +397,7 @@ CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o: ../ML/VFDT/NodeTest.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_25) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_27) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/NodeTest.cpp
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.i: cmake_force
@@ -384,7 +410,7 @@ CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o: ../ML/VFDT/VFDT_Classifier.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_26) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_28) "Building CXX object CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/VFDT/VFDT_Classifier.cpp
 
 CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.i: cmake_force
@@ -397,7 +423,7 @@ CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o: ../PPML/IO/PPDatasetReader.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_27) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_29) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/IO/PPDatasetReader.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.i: cmake_force
@@ -410,7 +436,7 @@ CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o: ../PPML/PPLR/PPLR_Classifier.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_28) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_30) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPLR/PPLR_Classifier.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.i: cmake_force
@@ -423,7 +449,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o: ../PPML/PPNB/PPNB_Classifier.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_29) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_31) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPNB_Classifier.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.i: cmake_force
@@ -436,7 +462,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o: ../PPML/PPNB/PPStats.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_30) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_32) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPNB/PPStats.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.i: cmake_force
@@ -449,7 +475,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o: ../PPML/PPVFDT/PPNode.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_31) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_33) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNode.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.i: cmake_force
@@ -462,7 +488,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o: ../PPML/PPVFDT/PPNodeStats.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_32) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_34) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeStats.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.i: cmake_force
@@ -475,7 +501,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o: ../PPML/PPVFDT/PPNodeTest.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_33) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_35) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPNodeTest.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.i: cmake_force
@@ -488,7 +514,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o: ../PPML/PPVFDT/PPVFDT_Classifier.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_34) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_36) "Building CXX object CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/PPML/PPVFDT/PPVFDT_Classifier.cpp
 
 CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.i: cmake_force
@@ -501,7 +527,7 @@ CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../TEST/TESTBuildingBlocks.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_35) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_37) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTBuildingBlocks.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.i: cmake_force
@@ -514,7 +540,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o: ../TEST/TESTCryptoDatasetReader.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_36) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_38) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTCryptoDatasetReader.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.i: cmake_force
@@ -527,7 +553,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o: ../TEST/TESTDTPKC.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_37) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDTPKC.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.i: cmake_force
@@ -540,7 +566,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o: ../TEST/TESTDatasetReader.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_38) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTDatasetReader.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.i: cmake_force
@@ -553,7 +579,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o: ../TEST/TESTElementaryOps.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTElementaryOps.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.i: cmake_force
@@ -566,7 +592,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o: ../TEST/TESTNppNB.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppNB.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.i: cmake_force
@@ -579,7 +605,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o: ../TEST/TESTNppVFDT.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTNppVFDT.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.i: cmake_force
@@ -592,7 +618,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o: ../TEST/TESTpacking.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTpacking.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.i: cmake_force
@@ -605,7 +631,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o: ../TEST/TESTppNB.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppNB.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.i: cmake_force
@@ -618,7 +644,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o: ../TEST/TESTppVFDT.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TESTppVFDT.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.i: cmake_force
@@ -631,7 +657,7 @@ CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o: ../TEST/TestOpenMp.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/TestOpenMp.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.i: cmake_force
@@ -644,7 +670,7 @@ CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.o: ../TEST/main.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/main.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object CMakeFiles/DAPPLE.dir/TEST/main.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/TEST/main.cpp
 
 CMakeFiles/DAPPLE.dir/TEST/main.cpp.i: cmake_force
@@ -657,7 +683,7 @@ CMakeFiles/DAPPLE.dir/TEST/main.cpp.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o: ../UTIL/math_util.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.i: cmake_force
@@ -670,7 +696,7 @@ CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o: ../UTIL/num_th_alg.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_50) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.i: cmake_force
@@ -683,7 +709,7 @@ CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o: ../UTIL/prime_seq.cc
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_51) "Building CXX object CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o -c /home/rania/CLionProjects/DAPPLE-2.0/UTIL/prime_seq.cc
 
 CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.i: cmake_force
@@ -696,7 +722,7 @@ CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.s: cmake_force
 
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o: CMakeFiles/DAPPLE.dir/flags.make
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o: ../ML/LR/LR.cpp
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_50) "Building CXX object CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_52) "Building CXX object CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o"
 	/usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o -c /home/rania/CLionProjects/DAPPLE-2.0/ML/LR/LR.cpp
 
 CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.i: cmake_force
@@ -718,12 +744,14 @@ DAPPLE_OBJECTS = \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o" \
+"CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o" \
+"CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o" \
 "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o" \
@@ -772,12 +800,14 @@ DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o
+DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o
+DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o
 DAPPLE: CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o
@@ -817,7 +847,7 @@ DAPPLE: CMakeFiles/DAPPLE.dir/build.make
 DAPPLE: /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so
 DAPPLE: /usr/lib/x86_64-linux-gnu/libpthread.so
 DAPPLE: CMakeFiles/DAPPLE.dir/link.txt
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_51) "Linking CXX executable DAPPLE"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_53) "Linking CXX executable DAPPLE"
 	$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/DAPPLE.dir/link.txt --verbose=$(VERBOSE)
 
 # Rule to build all files generated by this target.
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake b/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
index cccab93e..bf2b3cfe 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/cmake_clean.cmake
@@ -8,12 +8,14 @@ file(REMOVE_RECURSE
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o"
+  "CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o"
+  "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o"
   "CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o"
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
index 0db3182b..db227b15 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.internal
@@ -68,6 +68,16 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.h
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/math_util.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
@@ -121,6 +131,14 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
  /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.h
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/mpz_class.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/num_th_alg.hh
+ /home/rania/CLionProjects/DAPPLE-2.0/UTIL/util_gmp_rand.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/DTPKC.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv.h
@@ -345,12 +363,14 @@ CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDiv100.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalDotProd.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLog.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalLrUpdate.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalMult.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalProba.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h
+ /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSub.h
  /home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalThreashold.h
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
index 535b8e82..1f05cf2e 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/depend.make
@@ -68,6 +68,16 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o: ../UTIL/mpz_class.hh
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o: ../UTIL/num_th_alg.hh
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o: ../UTIL/util_gmp_rand.h
 
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/DTPKC.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/EvalDiv.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/EvalDiv100.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/EvalExpo.cpp
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../CRYPTO/EvalExpo.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../UTIL/math_util.hh
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../UTIL/mpz_class.hh
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../UTIL/num_th_alg.hh
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o: ../UTIL/util_gmp_rand.h
+
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o: ../CRYPTO/DTPKC.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o: ../CRYPTO/EvalDiv.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o: ../CRYPTO/EvalHBound.cpp
@@ -121,6 +131,14 @@ CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o: ../UTIL/mpz_class.hh
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o: ../UTIL/num_th_alg.hh
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o: ../UTIL/util_gmp_rand.h
 
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../CRYPTO/DTPKC.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../CRYPTO/EvalDiv.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../CRYPTO/EvalSqrt.cpp
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../CRYPTO/EvalSqrt.h
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../UTIL/mpz_class.hh
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../UTIL/num_th_alg.hh
+CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o: ../UTIL/util_gmp_rand.h
+
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o: ../CRYPTO/DTPKC.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o: ../CRYPTO/EvalDiv.h
 CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o: ../CRYPTO/EvalMult.h
@@ -344,12 +362,14 @@ CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDiv.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDiv100.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalDotProd.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalEntropy.h
+CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalExpo.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalHBound.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalLog.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalLrUpdate.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalMult.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalProba.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalSigmoid.h
+CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalSqrt.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalStandardDiv.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalSub.h
 CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o: ../CRYPTO/EvalThreashold.h
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt b/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
index 72628ee1..b56b26de 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/link.txt
@@ -1 +1 @@
-/usr/bin/c++   -fopenmp -g    CMakeFiles/DAPPLE.dir/CRYPTO/DTPKC.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAdd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAddPow2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o  -o DAPPLE -lgmp -lgmpxx -lntl -lm -lconfig4cpp -lmpfr -lssl -lcrypto /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so -lpthread 
+/usr/bin/c++   -fopenmp -g    CMakeFiles/DAPPLE.dir/CRYPTO/DTPKC.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAdd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalAddPow2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalCmp100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDiv100.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalDotProd.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalHBound.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLog.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalLrUpdate.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalMult.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalProba.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalStandardDiv.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalSub2.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/EvalThreashold.cpp.o CMakeFiles/DAPPLE.dir/CRYPTO/SkeySwitch.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/NB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/ML/NB/Stats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/Node.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeStats.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/NodeTest.cpp.o CMakeFiles/DAPPLE.dir/ML/VFDT/VFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/IO/PPDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPLR/PPLR_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPNB_Classifier.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPNB/PPStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNode.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeStats.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPNodeTest.cpp.o CMakeFiles/DAPPLE.dir/PPML/PPVFDT/PPVFDT_Classifier.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTBuildingBlocks.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTCryptoDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDTPKC.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTDatasetReader.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTElementaryOps.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTNppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTpacking.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppNB.cpp.o CMakeFiles/DAPPLE.dir/TEST/TESTppVFDT.cpp.o CMakeFiles/DAPPLE.dir/TEST/TestOpenMp.cpp.o CMakeFiles/DAPPLE.dir/TEST/main.cpp.o CMakeFiles/DAPPLE.dir/UTIL/math_util.cc.o CMakeFiles/DAPPLE.dir/UTIL/num_th_alg.cc.o CMakeFiles/DAPPLE.dir/UTIL/prime_seq.cc.o CMakeFiles/DAPPLE.dir/ML/LR/LR.cpp.o  -o DAPPLE -lgmp -lgmpxx -lntl -lm -lconfig4cpp -lmpfr -lssl -lcrypto /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.so -lpthread 
diff --git a/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make b/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
index 7bde808c..a275d53f 100644
--- a/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
+++ b/cmake-build-debug/CMakeFiles/DAPPLE.dir/progress.make
@@ -49,4 +49,6 @@ CMAKE_PROGRESS_48 = 48
 CMAKE_PROGRESS_49 = 49
 CMAKE_PROGRESS_50 = 50
 CMAKE_PROGRESS_51 = 51
+CMAKE_PROGRESS_52 = 52
+CMAKE_PROGRESS_53 = 53
 
diff --git a/cmake-build-debug/CMakeFiles/Makefile2 b/cmake-build-debug/CMakeFiles/Makefile2
index 74f9a8ef..becacf96 100644
--- a/cmake-build-debug/CMakeFiles/Makefile2
+++ b/cmake-build-debug/CMakeFiles/Makefile2
@@ -71,7 +71,7 @@ CMAKE_BINARY_DIR = /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug
 CMakeFiles/DAPPLE.dir/all:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/depend
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/build
-	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51 "Built target DAPPLE"
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 "Built target DAPPLE"
 .PHONY : CMakeFiles/DAPPLE.dir/all
 
 # Include target in all.
@@ -81,7 +81,7 @@ all: CMakeFiles/DAPPLE.dir/all
 
 # Build rule for subdir invocation for target.
 CMakeFiles/DAPPLE.dir/rule: cmake_check_build_system
-	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 51
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 53
 	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/DAPPLE.dir/all
 	$(CMAKE_COMMAND) -E cmake_progress_start /home/rania/CLionProjects/DAPPLE-2.0/cmake-build-debug/CMakeFiles 0
 .PHONY : CMakeFiles/DAPPLE.dir/rule
diff --git a/cmake-build-debug/CMakeFiles/progress.marks b/cmake-build-debug/CMakeFiles/progress.marks
index 82cced27..59343b09 100644
--- a/cmake-build-debug/CMakeFiles/progress.marks
+++ b/cmake-build-debug/CMakeFiles/progress.marks
@@ -1 +1 @@
-51
+53
diff --git a/cmake-build-debug/DAPPLE.cbp b/cmake-build-debug/DAPPLE.cbp
index 5792eec0..f3c7585f 100644
--- a/cmake-build-debug/DAPPLE.cbp
+++ b/cmake-build-debug/DAPPLE.cbp
@@ -138,6 +138,12 @@
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalEntropy.h">
 			<Option target="DAPPLE"/>
 		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.cpp">
+			<Option target="DAPPLE"/>
+		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalExpo.h">
+			<Option target="DAPPLE"/>
+		</Unit>
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalHBound.cpp">
 			<Option target="DAPPLE"/>
 		</Unit>
@@ -174,6 +180,12 @@
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSigmoid.h">
 			<Option target="DAPPLE"/>
 		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.cpp">
+			<Option target="DAPPLE"/>
+		</Unit>
+		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalSqrt.h">
+			<Option target="DAPPLE"/>
+		</Unit>
 		<Unit filename="/home/rania/CLionProjects/DAPPLE-2.0/CRYPTO/EvalStandardDiv.cpp">
 			<Option target="DAPPLE"/>
 		</Unit>
diff --git a/cmake-build-debug/Makefile b/cmake-build-debug/Makefile
index 1e4cd693..bcb12dd5 100644
--- a/cmake-build-debug/Makefile
+++ b/cmake-build-debug/Makefile
@@ -366,6 +366,33 @@ CRYPTO/EvalEntropy.cpp.s:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalEntropy.cpp.s
 .PHONY : CRYPTO/EvalEntropy.cpp.s
 
+CRYPTO/EvalExpo.o: CRYPTO/EvalExpo.cpp.o
+
+.PHONY : CRYPTO/EvalExpo.o
+
+# target to build an object file
+CRYPTO/EvalExpo.cpp.o:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.o
+.PHONY : CRYPTO/EvalExpo.cpp.o
+
+CRYPTO/EvalExpo.i: CRYPTO/EvalExpo.cpp.i
+
+.PHONY : CRYPTO/EvalExpo.i
+
+# target to preprocess a source file
+CRYPTO/EvalExpo.cpp.i:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.i
+.PHONY : CRYPTO/EvalExpo.cpp.i
+
+CRYPTO/EvalExpo.s: CRYPTO/EvalExpo.cpp.s
+
+.PHONY : CRYPTO/EvalExpo.s
+
+# target to generate assembly for a file
+CRYPTO/EvalExpo.cpp.s:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalExpo.cpp.s
+.PHONY : CRYPTO/EvalExpo.cpp.s
+
 CRYPTO/EvalHBound.o: CRYPTO/EvalHBound.cpp.o
 
 .PHONY : CRYPTO/EvalHBound.o
@@ -528,6 +555,33 @@ CRYPTO/EvalSigmoid.cpp.s:
 	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalSigmoid.cpp.s
 .PHONY : CRYPTO/EvalSigmoid.cpp.s
 
+CRYPTO/EvalSqrt.o: CRYPTO/EvalSqrt.cpp.o
+
+.PHONY : CRYPTO/EvalSqrt.o
+
+# target to build an object file
+CRYPTO/EvalSqrt.cpp.o:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.o
+.PHONY : CRYPTO/EvalSqrt.cpp.o
+
+CRYPTO/EvalSqrt.i: CRYPTO/EvalSqrt.cpp.i
+
+.PHONY : CRYPTO/EvalSqrt.i
+
+# target to preprocess a source file
+CRYPTO/EvalSqrt.cpp.i:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.i
+.PHONY : CRYPTO/EvalSqrt.cpp.i
+
+CRYPTO/EvalSqrt.s: CRYPTO/EvalSqrt.cpp.s
+
+.PHONY : CRYPTO/EvalSqrt.s
+
+# target to generate assembly for a file
+CRYPTO/EvalSqrt.cpp.s:
+	$(MAKE) -f CMakeFiles/DAPPLE.dir/build.make CMakeFiles/DAPPLE.dir/CRYPTO/EvalSqrt.cpp.s
+.PHONY : CRYPTO/EvalSqrt.cpp.s
+
 CRYPTO/EvalStandardDiv.o: CRYPTO/EvalStandardDiv.cpp.o
 
 .PHONY : CRYPTO/EvalStandardDiv.o
@@ -1509,6 +1563,9 @@ help:
 	@echo "... CRYPTO/EvalEntropy.o"
 	@echo "... CRYPTO/EvalEntropy.i"
 	@echo "... CRYPTO/EvalEntropy.s"
+	@echo "... CRYPTO/EvalExpo.o"
+	@echo "... CRYPTO/EvalExpo.i"
+	@echo "... CRYPTO/EvalExpo.s"
 	@echo "... CRYPTO/EvalHBound.o"
 	@echo "... CRYPTO/EvalHBound.i"
 	@echo "... CRYPTO/EvalHBound.s"
@@ -1527,6 +1584,9 @@ help:
 	@echo "... CRYPTO/EvalSigmoid.o"
 	@echo "... CRYPTO/EvalSigmoid.i"
 	@echo "... CRYPTO/EvalSigmoid.s"
+	@echo "... CRYPTO/EvalSqrt.o"
+	@echo "... CRYPTO/EvalSqrt.i"
+	@echo "... CRYPTO/EvalSqrt.s"
 	@echo "... CRYPTO/EvalStandardDiv.o"
 	@echo "... CRYPTO/EvalStandardDiv.i"
 	@echo "... CRYPTO/EvalStandardDiv.s"
-- 
GitLab