diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 20935542250e6782bfbcd2040be7de49b62bbb5c..a677cece8a7ea6d0d84efa2fc6954dc82af993d4 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -202,6 +202,9 @@
 <<if def $space>>
 	<<unset $space>>
 <</if>>
+<<if def $vaginaTotal>>
+	<<unset $vaginaTotal>>
+<</if>>
 
 
 /* pregmod stuff */
@@ -2996,6 +2999,9 @@ Setting missing slave variables:
 <<if def _Slave.oralTotal>>
 	<<run delete _Slave.oralTotal>>
 <</if>>
+<<if def _Slave.vaginaCount>>
+	<<run delete _Slave.vaginaCount>>
+<</if>>
 
 <<if (($ver.startsWith("0.6") && !$ver.startsWith("10.6")) || ($ver.startsWith("0.7")) || ($ver.startsWith("0.8"))) && (!$ver.startsWith("0.8.9")) && (!$ver.startsWith("0.8.10")) && (!$ver.startsWith("0.8.11")) && (!$ver.startsWith("0.8.12"))>>
 	<<if _Slave.attrXX == 2>>
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index 5e16b12d97f43ab0eb9f78863739cb2ea7c0e887..d5ed14327d91d29604038d6133c3f47f75698e48 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -1323,27 +1323,8 @@
 	<</if>>
 <</if>>
 
-/* this can be handled, save for the vertex, with a cubic function but I can not for the life of me derive the formula without one of theose graphing calculators */
-<<set _int = $args[0].intelligence+$args[0].intelligenceImplant>>
-<<if _int >= 130>>
-	<<set _slaveMultiplier += 1.6>>
-<<elseif _int > 95>>
-	<<set _slaveMultiplier += 0.8>>
-<<elseif _int > 50>>
-	<<set _slaveMultiplier += 0.4>>
-<<elseif _int > 15>>
-	<<set _slaveMultiplier += 0.2>>
-<<elseif _int >= -15>>
-	<<set _slaveMultiplier += 0.1>>
-<<elseif _int >= -50>>
-	<<set _slaveMultiplier += -0.2>>
-<<elseif _int >= -95>>
-	<<set _slaveMultiplier += -0.4>>
-<<elseif _int >= -129>>
-	<<set _slaveMultiplier += -0.8>>
-<<elseif  _int == -130>>
-	<<set _slaveMultiplier += -1.6>>
-<</if>>
+<<set _int = Math.clamp($args[0].intelligence+$args[0].intelligenceImplant,-130,130)>> /* make absolutely certain we do not use +-131 in the next line */
+<<set _slaveMultiplier += Math.floor((Math.asin(_int/131))*50)/50>>
 
 <<if $args[0].vagina > -1 && $arcologies[0].FSRestartSMR == 1>>
 	<<if $args[0].dick > 0>>