Woven code has dependency to project SpecsRapl, which can be found at https://github.com/specs-feup/specs-c-libs
#include "rapl.h"
#include <iostream>

double bar() {
   
   return 1.0;
}


double foo() {
   double a = 0;
   for(int i = 0; i < 1000; i++) {
      long long clava_energy_output_0_start = rapl_energy();
      a += bar();
      long long clava_energy_output_0_end = rapl_energy();
      std::cout << "Energy:" << clava_energy_output_0_end - clava_energy_output_0_start << "uJ" << "\n";
   }
   
   return a;
}


int main() {
   long long clava_energy_output_1_start = rapl_energy();
   foo();
   long long clava_energy_output_1_end = rapl_energy();
   std::cout << "Energy:" << clava_energy_output_1_end - clava_energy_output_1_start << "uJ" << "\n";
}
