Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs.sln
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs.sln	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs.sln	(revision 17930)
@@ -85,12 +85,17 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.MathNet.Numerics", "HeuristicLab.MathNet.Numerics\HeuristicLab.MathNet.Numerics.csproj", "{71AE8AE6-F1A5-445C-AD31-AFFC83CE2E28}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.TensorFlowNet", "HeuristicLab.TensorFlowNet\HeuristicLab.TensorFlowNet.csproj", "{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TensorFlowNetILMerge", "HeuristicLab.ExtLibs\TensorFlowNet\TensorFlowNetILMerge.csproj", "{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.TensorFlowNet", "HeuristicLab.ExtLibs\HeuristicLab.TensorFlowNet\HeuristicLab.TensorFlowNet.csproj", "{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}"
 	ProjectSection(ProjectDependencies) = postProject
 		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3} = {99BF44AE-436E-4B30-9435-E2BA98EE6FB3}
 	EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TensorFlowNet", "TensorFlowNet\TensorFlowNet.csproj", "{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.DiffSharp", "HeuristicLab.DiffSharp\HeuristicLab.DiffSharp.csproj", "{99935EB6-C98F-4524-A8E2-94C8F6A0C8D9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiffSharpILMerge", "HeuristicLab.ExtLibs\DiffSharp\DiffSharpILMerge.csproj", "{0C9D4608-1B14-404E-9932-F60E67B625BA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.DiffSharp", "HeuristicLab.ExtLibs\HeuristicLab.DiffSharp\HeuristicLab.DiffSharp.csproj", "{99935EB6-C98F-4524-A8E2-94C8F6A0C8D9}"
+	ProjectSection(ProjectDependencies) = postProject
+		{0C9D4608-1B14-404E-9932-F60E67B625BA} = {0C9D4608-1B14-404E-9932-F60E67B625BA}
+	EndProjectSection
 EndProject
 Global
@@ -556,4 +561,16 @@
 		{71AE8AE6-F1A5-445C-AD31-AFFC83CE2E28}.Release|x86.ActiveCfg = Release|Any CPU
 		{71AE8AE6-F1A5-445C-AD31-AFFC83CE2E28}.Release|x86.Build.0 = Release|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x64.ActiveCfg = Debug|x64
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x64.Build.0 = Debug|x64
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x86.Build.0 = Debug|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x64.ActiveCfg = Release|x64
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x64.Build.0 = Release|x64
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x86.ActiveCfg = Release|Any CPU
+		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x86.Build.0 = Release|Any CPU
 		{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -568,16 +585,12 @@
 		{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}.Release|x86.ActiveCfg = Release|Any CPU
 		{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}.Release|x86.Build.0 = Release|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x64.ActiveCfg = Debug|x64
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x64.Build.0 = Debug|x64
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Debug|x86.Build.0 = Debug|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|Any CPU.Build.0 = Release|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x64.ActiveCfg = Release|x64
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x64.Build.0 = Release|x64
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x86.ActiveCfg = Release|Any CPU
-		{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}.Release|x86.Build.0 = Release|Any CPU
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Debug|x64.ActiveCfg = Debug|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Debug|x64.Build.0 = Debug|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Debug|x86.ActiveCfg = Debug|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Release|Any CPU.ActiveCfg = Release|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Release|x64.ActiveCfg = Release|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Release|x64.Build.0 = Release|x64
+		{0C9D4608-1B14-404E-9932-F60E67B625BA}.Release|x86.ActiveCfg = Release|x64
 		{99935EB6-C98F-4524-A8E2-94C8F6A0C8D9}.Debug|Any CPU.ActiveCfg = Debug|x64
 		{99935EB6-C98F-4524-A8E2-94C8F6A0C8D9}.Debug|x64.ActiveCfg = Debug|x64
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/DiffSharpILMerge.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/DiffSharpILMerge.csproj	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/DiffSharpILMerge.csproj	(revision 17930)
@@ -0,0 +1,78 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{0C9D4608-1B14-404E-9932-F60E67B625BA}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>DiffSharpILMerge</RootNamespace>
+    <AssemblyName>DiffSharpILMerge_</AssemblyName>
+    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup>
+    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="DiffSharp">
+      <Version>0.8.4-beta</Version>
+    </PackageReference>
+    <PackageReference Include="ILMerge">
+      <Version>3.0.41</Version>
+    </PackageReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PostBuildEvent>"$(ILMergeConsolePath)" /out:DiffSharp.Merged.dll /keyfile:$(SolutionDir)HeuristicLab\3.3\HeuristicLab.snk DiffSharp.dll FSharp.Core.dll FSharp.Quotations.Evaluator.dll en\FSharp.Core.resources.dll
+
+rm DiffSharp.dll
+rm FSharp.Core.dll
+rm FSharp.Quotations.Evaluator.dll
+rm FSharp.Quotations.Evaluator.pdb
+
+rm -d -r cs
+rm -d -r de
+rm -d -r en
+rm -d -r es
+rm -d -r fr
+rm -d -r it
+rm -d -r ja
+rm -d -r ko
+rm -d -r pl
+rm -d -r pt-BR
+rm -d -r ru
+rm -d -r tr
+rm -d -r zh-Hans
+rm -d -r zh-Hant
+</PostBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/Properties/AssemblyInfo.cs
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/Properties/AssemblyInfo.cs	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/DiffSharp/Properties/AssemblyInfo.cs	(revision 17930)
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("DiffSharp")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("FH-Hagenberg")]
+[assembly: AssemblyProduct("DiffSharp")]
+[assembly: AssemblyCopyright("Copyright © FH-Hagenberg 2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("0c9d4608-1b14-404e-9932-f60e67b625ba")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/HeuristicLab.DiffSharp.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/HeuristicLab.DiffSharp.csproj	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/HeuristicLab.DiffSharp.csproj	(revision 17930)
@@ -0,0 +1,85 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{99935EB6-C98F-4524-A8E2-94C8F6A0C8D9}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.DiffSharp</RootNamespace>
+    <AssemblyName>HeuristicLab.DiffSharp</AssemblyName>
+    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup>
+    <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
+    <SignAssembly>true</SignAssembly>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup>
+    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="DiffSharp.Merged, Version=0.8.4.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=AMD64">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\bin\DiffSharp.Merged.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Plugin.cs.frame" />
+    <Compile Include="Plugin.cs" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
+      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
+      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="NETStandard.Library">
+      <Version>2.0.0</Version>
+    </PackageReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+</PreBuildEvent>
+  </PropertyGroup>
+  <PropertyGroup>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Plugin.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Plugin.cs.frame	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Plugin.cs.frame	(revision 17930)
@@ -0,0 +1,35 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.DiffSharp {
+  [Plugin("HeuristicLab.DiffSharp", "HeuristicLab wrapper for DiffSharp nuget package.", "0.7.7.$WCREV$")]
+  [PluginFile("HeuristicLab.DiffSharp.dll", PluginFileType.Assembly)]
+  [PluginFile("DiffSharp.Merged.dll", PluginFileType.Assembly)]
+  [PluginFile("netstandard.dll", PluginFileType.Assembly)]
+  [PluginFile("libgcc_s_seh-1.dll", PluginFileType.NativeDll)]
+  [PluginFile("libgfortran-3.dll", PluginFileType.NativeDll)]
+  [PluginFile("libopenblas.dll", PluginFileType.NativeDll)]
+  [PluginFile("libquadmath-0.dll", PluginFileType.NativeDll)]
+  public class Plugin : PluginBase {
+  }
+}
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Properties/AssemblyInfo.cs.frame	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.DiffSharp/Properties/AssemblyInfo.cs.frame	(revision 17930)
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.DiffSharp")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("99935eb6-c98f-4524-a8e2-94c8f6a0c8d9")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.7.7")]
+[assembly: AssemblyFileVersion("0.7.7.$WCREV$")]
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.Protobuf/3.6.1/HeuristicLab.Protobuf.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.Protobuf/3.6.1/HeuristicLab.Protobuf.csproj	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.Protobuf/3.6.1/HeuristicLab.Protobuf.csproj	(revision 17930)
@@ -61,5 +61,5 @@
   <ItemGroup>
     <PackageReference Include="Google.Protobuf">
-      <Version>3.11.3</Version>
+      <Version>3.6.1</Version>
     </PackageReference>
   </ItemGroup>
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/HeuristicLab.TensorFlowNet.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/HeuristicLab.TensorFlowNet.csproj	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/HeuristicLab.TensorFlowNet.csproj	(revision 17930)
@@ -0,0 +1,92 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{C2E26343-88C7-4288-938B-EEE7C2ABBDB6}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.TensorFlowNet</RootNamespace>
+    <AssemblyName>HeuristicLab.TensorFlowNet</AssemblyName>
+    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup>
+    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="TensorFlow.NET.Merged, Version=0.15.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\bin\TensorFlow.NET.Merged.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Plugin.cs.frame" />
+    <Compile Include="Plugin.cs" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
+      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
+      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="tensorflow.dll">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+  <PropertyGroup>
+    <PostBuildEvent>
+    </PostBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Plugin.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Plugin.cs.frame	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Plugin.cs.frame	(revision 17930)
@@ -0,0 +1,37 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.TensorFlowNet {
+  [Plugin("HeuristicLab.TensorFlowNet", "HeuristicLab wrapper for TensofFlow.NET nuget package.", "0.15.0.$WCREV$")]
+  [PluginFile("HeuristicLab.TensorFlowNet.dll", PluginFileType.Assembly)]
+  [PluginFile("TensorFlow.NET.Merged.dll", PluginFileType.Assembly)]
+  //[PluginFile("Protobuf.Text.dll", PluginFileType.Assembly)]
+  [PluginFile("tensorflow.dll", PluginFileType.NativeDll)]
+  //[PluginFile("netstandard.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Protobuf", "3.6.1")]
+  //[PluginDependency("HeuristicLab.DiffSharp", "0.7.7")] // for passing unit test?
+  public class Plugin : PluginBase {
+    public Plugin() { }
+  }
+}
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Properties/AssemblyInfo.cs.frame	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/HeuristicLab.TensorFlowNet/Properties/AssemblyInfo.cs.frame	(revision 17930)
@@ -0,0 +1,57 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.TensorFlowNet")]
+[assembly: AssemblyDescription("Provides an interface to TensorFlow.NET nuget package")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("c2e26343-88c7-4288-938b-eee7c2abbdb6")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("0.15.0.0")]
+[assembly: AssemblyFileVersion("0.15.0.$WCREV$")]
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/Properties/AssemblyInfo.cs
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/Properties/AssemblyInfo.cs	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/Properties/AssemblyInfo.cs	(revision 17930)
@@ -0,0 +1,36 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("TensorFlowNet")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("FH-Hagenberg")]
+[assembly: AssemblyProduct("TensorFlowNet")]
+[assembly: AssemblyCopyright("Copyright © FH-Hagenberg 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("99bf44ae-436e-4b30-9435-e2ba98ee6fb3")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
Index: branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/TensorFlowNetILMerge.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/TensorFlowNetILMerge.csproj	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.ExtLibs/TensorFlowNet/TensorFlowNetILMerge.csproj	(revision 17930)
@@ -0,0 +1,83 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{99BF44AE-436E-4B30-9435-E2BA98EE6FB3}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>TensorFlowNetILMerge</RootNamespace>
+    <AssemblyName>TensorFlowNetILMerge_</AssemblyName>
+    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Google.Protobuf">
+      <Version>3.6.1</Version>
+    </PackageReference>
+    <PackageReference Include="ilmerge">
+      <Version>3.0.41</Version>
+    </PackageReference>
+    <PackageReference Include="TensorFlow.NET">
+      <Version>0.15.0</Version>
+    </PackageReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PostBuildEvent>"$(ILMergeConsolePath)" /out:TensorFlow.NET.Merged.dll /keyfile:$(SolutionDir)HeuristicLab\3.3\HeuristicLab.snk TensorFlow.NET.dll NumSharp.Lite.dll Protobuf.Text.dll
+
+rm NumSharp.Lite.pdb
+rm NumSharp.Lite.dll
+rm TensorFlow.NET.dll
+rm Protobuf.Text.dll
+</PostBuildEvent>
+  </PropertyGroup>
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: branches/3040_VectorBasedGP/HeuristicLab.MathNet.Numerics/HeuristicLab.MathNet.Numerics.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.MathNet.Numerics/HeuristicLab.MathNet.Numerics.csproj	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.MathNet.Numerics/HeuristicLab.MathNet.Numerics.csproj	(revision 17930)
@@ -56,5 +56,6 @@
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="HEAL.Attic">
+    <Reference Include="HEAL.Attic, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
       <HintPath>..\bin\HEAL.Attic.dll</HintPath>
     </Reference>
@@ -72,4 +73,8 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.ExtLibs\HeuristicLab.Attic\1.0.0\HeuristicLab.Attic.csproj">
+      <Project>{44a10478-d290-43c2-9757-f08f5292fea5}</Project>
+      <Name>HeuristicLab.Attic</Name>
+    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
       <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
@@ -78,7 +83,4 @@
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Google.Protobuf">
-      <Version>3.11.3</Version>
-    </PackageReference>
     <PackageReference Include="MathNet.Numerics.Signed">
       <Version>4.9.0</Version>
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj	(revision 17930)
@@ -110,7 +110,7 @@
       <Private>False</Private>
     </Reference>
-    <Reference Include="DiffSharp, Version=0.7.7.0, Culture=neutral, processorArchitecture=AMD64">
+    <Reference Include="DiffSharp.Merged, Version=0.8.4.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=AMD64">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\bin\DiffSharp.dll</HintPath>
+      <HintPath>..\..\bin\DiffSharp.Merged.dll</HintPath>
     </Reference>
     <Reference Include="MathNet.Numerics">
@@ -118,4 +118,5 @@
       <Private>False</Private>
     </Reference>
+    <Reference Include="netstandard" />
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -132,7 +133,7 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
-    <Reference Include="TensorFlow.NET.Signed">
-      <HintPath>..\..\bin\TensorFlow.NET.Signed.dll</HintPath>
-      <Private>False</Private>
+    <Reference Include="TensorFlow.NET.Merged, Version=0.15.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\bin\TensorFlow.NET.Merged.dll</HintPath>
     </Reference>
   </ItemGroup>
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/NonlinearLeastSquaresVectorConstantOptimizationEvaluator.cs
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/NonlinearLeastSquaresVectorConstantOptimizationEvaluator.cs	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/NonlinearLeastSquaresVectorConstantOptimizationEvaluator.cs	(revision 17930)
@@ -117,5 +117,5 @@
       alglib.ndimensional_func alglib_func = (double[] x, ref double func, object o) => {
         var vars = new DV(x);
-        func = loss(vars);
+        func = (double)loss(vars);
         var cnt = (EvaluationsCounter)o;
         cnt.FunctionEvaluations++;
@@ -123,6 +123,6 @@
       alglib.ndimensional_grad alglib_grad = (double[] x, ref double func, double[] grad, object o) => {
         var vars = new DV(x);
-        func = loss(vars);
-        Array.Copy(lossGrad(vars), grad, x.Length);
+        func = (double)loss(vars);
+        Array.Copy((double[])lossGrad(vars), grad, x.Length);
         var cnt = (EvaluationsCounter)o;
         cnt.GradientEvaluations++;
@@ -130,7 +130,7 @@
       alglib.ndimensional_hess alglib_hess = (double[] x, ref double func, double[] grad, double[,] hess, object o) => {
         var vars = new DV(x);
-        func = loss(vars);
-        Array.Copy(lossGrad(vars), grad, x.Length);
-        Array.Copy(lossHess(vars), hess, x.Length * x.Length);
+        func = (double)loss(vars);
+        Array.Copy((double[])lossGrad(vars), grad, x.Length);
+        Array.Copy((double[,])lossHess(vars), hess, x.Length * x.Length);
         var cnt = (EvaluationsCounter)o;
         cnt.HessianEvaluations++;
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/TreeToDiffSharpConverter.cs
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/TreeToDiffSharpConverter.cs	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/TreeToDiffSharpConverter.cs	(revision 17930)
@@ -271,5 +271,5 @@
         var terms = node.Subtrees.Select(ConvertNode).ToList();
         if (terms.Count == 1) return FunctionApply(terms[0],
-            s => -s,
+            s => D.Neg(s),
             v => DV.Neg(v));
         return terms.Aggregate((a, b) =>
@@ -288,5 +288,5 @@
             (s1, v2) => s1 * v2,
             (v1, s2) => v1 * s2,
-            (v1, v2) => DV.op_DotMultiply(v1, v2)
+            (v1, v2) => DV.PointwiseMultiply(v1, v2)
           ));
       }
@@ -301,5 +301,5 @@
             (s1, v2) => s1 / v2,
             (v1, s2) => v1 / s2,
-            (v1, v2) => DV.op_DotDivide(v1, v2)
+            (v1, v2) => DV.PointwiseDivision(v1, v2)
           ));
       }
@@ -345,5 +345,5 @@
         return FunctionApply(ConvertNode(node.GetSubtree(0)),
           s => D.Sign(s) * D.Pow(D.Abs(s), 1.0 / 3.0),
-          v => DV.op_DotMultiply(DV.Sign(v), DV.Pow(DV.Abs(v), 1.0 / 3.0))
+          v => DV.PointwiseMultiply(DV.Sign(v), DV.Pow(DV.Abs(v), 1.0 / 3.0))
         );
       }
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 17930)
@@ -113,7 +113,7 @@
       <Private>False</Private>
     </Reference>
-    <Reference Include="DiffSharp, Version=0.7.7.0, Culture=neutral, processorArchitecture=AMD64">
+    <Reference Include="DiffSharp.Merged, Version=0.8.4.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=AMD64">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\bin\DiffSharp.dll</HintPath>
+      <HintPath>..\..\bin\DiffSharp.Merged.dll</HintPath>
     </Reference>
     <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
@@ -130,4 +130,5 @@
       <HintPath>..\..\bin\MathNet.Numerics.dll</HintPath>
     </Reference>
+    <Reference Include="netstandard" />
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -143,7 +144,7 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
-    <Reference Include="TensorFlow.NET.Signed, Version=0.15.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+    <Reference Include="TensorFlow.NET.Merged, Version=0.15.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\bin\TensorFlow.NET.Signed.dll</HintPath>
+      <HintPath>..\..\bin\TensorFlow.NET.Merged.dll</HintPath>
     </Reference>
   </ItemGroup>
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs	(revision 17930)
@@ -785,5 +785,5 @@
               s => 0,
               v => {
-                int bins = (int)Math.Round(m.Scalar);
+                int bins = Math.Max((int)Math.Round(m.Scalar), 1);
                 double minValue = v.Minimum();
                 double maxValue = v.Maximum();
@@ -794,5 +794,5 @@
                   double binMin = minValue * i;
                   double binMax = binMin + intervalWidth;
-                  double countBin = v.Map(e => (e > binMin && e < binMax) ? 1 : 0).Sum();
+                  double countBin = v.Map(e => (e > binMin && e < binMax) ? 1.0 : 0.0).Sum();
                   double percBin = countBin / totalValues;
                   sum += percBin * Math.Log(percBin);
@@ -808,5 +808,5 @@
             cur = AggregateApply(cur,
               s => 0,
-              v => Statistics.PopulationStandardDeviation(v) > (Statistics.Maximum(v) - Statistics.Minimum(v)) / 2 ? 1 : 0);
+              v => Statistics.PopulationStandardDeviation(v) > (Statistics.Maximum(v) - Statistics.Minimum(v)) / 2 ? 1.0 : 0.0);
             TraceEvaluation(currentInstr, cur);
             return cur;
@@ -816,5 +816,5 @@
             cur = AggregateApply(cur,
               s => 0,
-              v => Statistics.PopulationVariance(v) > Statistics.StandardDeviation(v) ? 1 : 0);
+              v => Statistics.PopulationVariance(v) > Statistics.StandardDeviation(v) ? 1.0 : 0.0);
             TraceEvaluation(currentInstr, cur);
             return cur;
@@ -824,5 +824,5 @@
             cur = AggregateApply(cur,
               s => 0,
-              v => Math.Abs(Statistics.Mean(v) - Statistics.Median(v)) < (Statistics.Maximum(v) - Statistics.Minimum(v)) / 2 ? 1 : 0);
+              v => Math.Abs(Statistics.Mean(v) - Statistics.Median(v)) < (Statistics.Maximum(v) - Statistics.Minimum(v)) / 2 ? 1.0 : 0.0);
             TraceEvaluation(currentInstr, cur);
             return cur;
@@ -834,5 +834,5 @@
               v => {
                 double mean = Statistics.Mean(v);
-                return v.Map(e => e > mean ? 1 : 0).Sum();
+                return v.Map(e => e > mean ? 1.0 : 0.0).Sum();
               });
             TraceEvaluation(currentInstr, cur);
@@ -845,5 +845,5 @@
               v => {
                 double median = Statistics.Median(v);
-                return v.Map(e => e > median ? 1 : 0).Sum();
+                return v.Map(e => e > median ? 1.0 : 0.0).Sum();
               });
             TraceEvaluation(currentInstr, cur);
@@ -856,5 +856,5 @@
               v => {
                 double mean = Statistics.Mean(v);
-                return v.Map(e => e < mean ? 1 : 0).Sum();
+                return v.Map(e => e < mean ? 1.0 : 0.0).Sum();
               });
             TraceEvaluation(currentInstr, cur);
@@ -867,5 +867,5 @@
               v => {
                 double median = Statistics.Median(v);
-                return v.Map(e => e < median ? 1 : 0).Sum();
+                return v.Map(e => e < median ? 1.0 : 0.0).Sum();
               });
             TraceEvaluation(currentInstr, cur);
@@ -1055,5 +1055,5 @@
               v => {
                 double sum = 0.0;
-                int l = (int)Math.Round(lVal.Scalar);
+                int l = Math.Max((int)Math.Round(lVal.Scalar), 0);
                 double mean = Statistics.Mean(v);
                 for (int i = 0; i < v.Count - l; i++) {
@@ -1106,5 +1106,5 @@
               s => 0,
               v => {
-                int lag = (int)Math.Round(l.Scalar);
+                int lag = Math.Max((int)Math.Round(l.Scalar), 0);
                 double sum = 0.0;
                 for (int i = 0; i < v.Count - 2 * lag; i++) {
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation.GP/3.5/Plugin.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation.GP/3.5/Plugin.cs.frame	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation.GP/3.5/Plugin.cs.frame	(revision 17930)
@@ -32,5 +32,5 @@
   [PluginDependency("HeuristicLab.Problems.DataAnalysis.Symbolic", "3.4")]
   [PluginDependency("HeuristicLab.Problems.ExternalEvaluation", "3.4")]
-  [PluginDependency("HeuristicLab.ProtobufCS", "2.4.1.473")]
+  //[PluginDependency("HeuristicLab.ProtobufCS", "2.4.1.473")]
   public class HeuristicLabProblemsExternalEvaluationGPPlugin : PluginBase {
   }
Index: branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab.Problems.ExternalEvaluation/3.4/Plugin.cs.frame	(revision 17930)
@@ -34,5 +34,5 @@
   [PluginDependency("HeuristicLab.Optimization", "3.3")]
   [PluginDependency("HeuristicLab.Parameters", "3.3")]
-  [PluginDependency("HeuristicLab.ProtobufCS", "2.4.1.473")]
+  //[PluginDependency("HeuristicLab.ProtobufCS", "2.4.1.473")]
   [PluginDependency("HeuristicLab.Scripting", "3.3")]
   public class HeuristicLabProblemsExternalEvaluationPlugin : PluginBase {
Index: branches/3040_VectorBasedGP/HeuristicLab.Tests/App.config
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab.Tests/App.config	(revision 17930)
+++ branches/3040_VectorBasedGP/HeuristicLab.Tests/App.config	(revision 17930)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <runtime>
+    <gcServer enabled="true"/>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <!--<dependentAssembly>
+        <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="4.7.0.0" />
+      </dependentAssembly>-->
+      <!--<dependentAssembly>
+        <assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="3.11.3.0" />
+        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="3.6.1.0" />
+      </dependentAssembly>-->
+      <!--<dependentAssembly>
+        <assemblyIdentity name="HEAL.Attic" publicKeyToken="ba48961d6f65dcec" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="1.5.0.0" />
+      </dependentAssembly>-->
+    </assemblyBinding>
+  </runtime>
+</configuration>
Index: branches/3040_VectorBasedGP/HeuristicLab/3.3/HeuristicLab-3.3.csproj
===================================================================
--- branches/3040_VectorBasedGP/HeuristicLab/3.3/HeuristicLab-3.3.csproj	(revision 17928)
+++ branches/3040_VectorBasedGP/HeuristicLab/3.3/HeuristicLab-3.3.csproj	(revision 17930)
@@ -111,4 +111,7 @@
     <ApplicationManifest>app.manifest</ApplicationManifest>
   </PropertyGroup>
+  <PropertyGroup>
+    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
@@ -192,9 +195,4 @@
     </BootstrapperPackage>
   </ItemGroup>
-  <ItemGroup>
-    <PackageReference Include="Google.Protobuf">
-      <Version>3.11.3</Version>
-    </PackageReference>
-  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
