{
	"sqrt": {
		"Name": "Square Root",
		"Address": "fable.Math.sqrtPrecise"
	},

	"percent": {
		"Name": "Compute Percent (in IS over OF format)",
		"Address": "fable.Math.percentagePrecise"
	},

	"compare": {
		"Name": "Compare",
		"Address": "fable.Math.comparePrecise"
	},

	"abs": {
		"Name": "Absolute Value",
		"Address": "fable.Math.absPrecise"
	},
	"floor": {
		"Name": "Floor Value",
		"Address": "fable.Math.floorPrecise"
	},
	"ceil": {
		"Name": "Ceiling Value",
		"Address": "fable.Math.ceilPrecise"
	},

	"rad": {
		"Name": "Degrees to Radians",
		"Address": "fable.Math.radPrecise"
	},

	"pi": {
		"Name": "Pi",
		"Address": "fable.Math.piPrecise"
	},
	"euler": {
		"Name": "Euler",
		"Address": "fable.Math.eulerPrecise"
	},

	"log": {
		"Name": "Logarithm",
		"Address": "fable.Math.logPrecise"
	},
	"exp": {
		"Name": "Eulers Number to the Power Of N",
		"Address": "fable.Math.expPrecise"
	},


	"sin": {
		"Name": "Sine",
		"Address": "fable.Math.sin"
	},
	"cos": {
		"Name": "Cosine",
		"Address": "fable.Math.cos"
	},
	"tan": {
		"Name": "Tangent",
		"Address": "fable.Math.tan"
	},

	"count": {
		"Name": "Count Set Elements",
		"Address": "fable.Math.countSetElements"
	},
	"countset": {
		"Name": "Count Set Elements",
		"Address": "fable.Math.countSetElements"
	},
	"sortset": {
		"Name": "Sort Set",
		"Address": "fable.Math.sortSetPrecise"
	},
	"bucketset": {
		"Name": "Bucket Set",
		"Address": "fable.Math.bucketSetPrecise"
	},
	"sorthistogram": {
		"Name": "Sort Histogram",
		"Address": "fable.Math.sortHistogramPrecise"
	},
	"sorthistogrambykeys": {
		"Name": "Sort Histogram by Keys",
		"Address": "fable.Math.sortHistogramByKeys"
	},

	"max": {
		"Name": "Maximum",
		"Address": "fable.Math.maxPrecise"
	},
	"min": {
		"Name": "Minimum",
		"Address": "fable.Math.minPrecise"
	},

	"sum": {
		"Name": "Sum",
		"Address": "fable.Math.sumPrecise"
	},

	"avg": {
		"Name": "Average",
		"Address": "fable.Math.averagePrecise"
	},
	"mean": {
		"Name": "Mean",
		"Address": "fable.Math.meanPrecise"
	},
	"median": {
		"Name": "Median",
		"Address": "fable.Math.medianPrecise"
	},
	"mode": {
		"Name": "Mode",
		"Address": "fable.Math.modePrecise"
	},
	"var": {
		"Name": "Variance (Sample)",
		"Address": "fable.Math.variancePrecise"
	},
	"vara": {
		"Name": "Variance (Sample)",
		"Address": "fable.Math.variancePrecise"
	},
	"varp": {
		"Name": "Variance (Population)",
		"Address": "fable.Math.populationVariancePrecise"
	},
	"stdev": {
		"Name": "Standard Deviation (Sample)",
		"Address": "fable.Math.standardDeviationPrecise"
	},
	"stdeva": {
		"Name": "Standard Deviation (Sample)",
		"Address": "fable.Math.standardDeviationPrecise"
	},
	"stdevp": {
		"Name": "Standard Deviation (Population)",
		"Address": "fable.Math.populationStandardDeviationPrecise"
	},
	"round": {
		"Name": "Round",
		"Address": "fable.Math.roundPrecise"
	},
	"tofixed": {
		"Name": "To Fixed",
		"Address": "fable.Math.toFixedPrecise"
	},

	"cumulativesummation": {
		"Name": "Sum each value in a Histogram or Value Map cumulatively, creating or setting a property with the result on each row",
		"Address": "fable.Math.cumulativeSummation"
	},

	"subtractingsummation": {
		"Name": "Subtract each subsequent value in a Histogram or Value Map cumulatively (by default from the first row), creating or setting a property with the result on each row.",
		"Address": "fable.Math.subtractingSummation"
	},

	"iterativeseries": {
		"Name": "Perform an Iterative Series of Mathematical Operations on Set Elements",
		"Address": "fable.Math.iterativeSeries"
	},

	"countsetelements": {
		"Name": "Count Set Elements in a Histogram or Value Map",
		"Address": "fable.Math.countSetElements"
	},

	"getvalue": {
		"Name": "Get Value from Application State or Services (AppData, etc.)",
		"Address": "fable.Utility.getInternalValueByHash",
		"AddressParameterIndices": [0]
	},

	"setvalue": {
		"Name": "Set Value to Application State or Services (AppData, etc.)",
		"Address": "fable.Utility.setInternalValueByHash",
		"AddressParameterIndices": [0]
	},

	"objectkeystoarray": {
		"Name": "Get Array of an Object's keys",
		"Address": "fable.Utility.objectKeysToArray"
	},
	"objectvaluestoarray": {
		"Name": "Get Array of an Object's values",
		"Address": "fable.Utility.objectValuesToArray"
	},
	"generatearrayofobjectsfromsets": {
		"Name": "Generate Array of Objects from Sets",
		"Address": "fable.Utility.generateArrayOfObjectsFromSets"
	},
	"objectvaluessortbyexternalobjectarray": {
		"Name": "Get Array of an Object's values sorted by an external array",
		"Address": "fable.Utility.objectValuesSortByExternalArray"
	},
	"setkeystoarray": {
		"Name": "Get Array of an Object's keys",
		"Address": "fable.Utility.objectKeysToArray"
	},
	"setvaluestoarray": {
		"Name": "Get Array of an Object's values",
		"Address": "fable.Utility.objectValuesToArray"
	},
	"histogramkeystoarray": {
		"Name": "Get Array of an Object's keys",
		"Address": "fable.Utility.objectKeysToArray"
	},
	"histogramvaluestoarray": {
		"Name": "Get Array of an Object's values",
		"Address": "fable.Utility.objectValuesToArray"
	},

	"createarrayfromabsolutevalues": {
		"Name": "Create Array from Absolute Values",
		"Address": "fable.Utility.createArrayFromAbsoluteValues"
	},

	"flatten": {
		"Name": "flatten an array of values",
		"Address": "fable.Utility.flattenArrayOfSolverInputs"
	},

	"findfirstvaluebyexactmatch": {
		"Name": "find + map on array of objects",
		"Address": "fable.Utility.findFirstValueByExactMatchInternal",
		"AddressParameterIndices": [0, 1, 3]
	},

	"findfirstvaluebystringincludes": {
		"Name": "find + map on array of objects",
		"Address": "fable.Utility.findFirstValueByStringIncludesInternal",
		"AddressParameterIndices": [0, 1, 3]
	},

	"match": {
		"Name": "Implementation of sheets MATCH() function",
		"Address": "fable.Utility.findIndexInternal",
		"AddressParameterIndices": [1]
	},

	"resolvehtmlentities": {
		"Name": "resolve HTML entities",
		"Address": "fable.DataFormat.resolveHtmlEntities"
	},

	"concat": {
		"Name": "concatenate an array of values and output a string",
		"Address": "fable.DataFormat.concatenateStringsInternal"
	},

	"concatraw": {
		"Name": "concatenate an array of values and output a string",
		"Address": "fable.DataFormat.concatenateStringsRawInternal"
	},

	"arrayconcat": {
		"Name": "concatenate two or more arrays generating a single output array",
		"Address": "fable.Utility.concatenateArrays"
	},

	"join": {
		"Name": "join an array of values and output a string",
		"Address": "fable.DataFormat.joinStringsInternal"
	},

	"joinraw": {
		"Name": "join an array of values and output a string",
		"Address": "fable.DataFormat.joinStringsRawInternal"
	},

	"if": {
		"Name": "perform a conditional operator on two values, and choose one of two outcomes based on the result",
		"Address": "fable.Logic.checkIf"
	},

	"when": {
		"Name": "perform a 'truthy' check on one value, and return one of two outcomes based on the result",
		"Address": "fable.Logic.when"
	},

	"ternary": {
		"Name": "numeric-aware ternary selection (used by ? :: operator desugaring)",
		"Address": "fable.Logic.ternary"
	},

	"entryinset": {
		"Name": "Entry in Set",
		"Address": "fable.Math.entryInSet"
	},
	"smallestinset": {
		"Name": "Smallest in Set",
		"Address": "fable.Math.smallestInSet"
	},
	"largestinset": {
		"Name": "Largest in Set",
		"Address": "fable.Math.largestInSet"
	},

	"aggregationhistogram": {
		"Name": "Generate a Histogram by Exact Value Aggregation",
		"Address": "fable.Math.histogramAggregationByExactValueFromInternalState"
	},
	"aggregationhistogrambyobject": {
		"Name": "Generate a Histogram by Exact Value Aggregation from Object Property",
		"Address": "fable.Math.histogramAggregationByExactValue"
	},
	"distributionhistogram": {
		"Name": "Generate a Histogram Based on Value Distribution",
		"Address": "fable.Math.histogramDistributionByExactValueFromInternalState"
	},
	"distributionhistogrambyobject": {
		"Name": "Generate a Histogram Based on Value Distribution from Object Property",
		"Address": "fable.Math.histogramDistributionByExactValue"
	},

	"setconcatenate": {
		"Name": "Set Concatenate",
		"Address": "fable.Math.setConcatenate"
	},

	"getvaluearray": {
		"Name": "Get Value Array from Application State or Services (AppData, etc.)",
		"Address": "fable.Utility.createValueArrayByHashParametersFromInternal",
		"AddressParameterIndices": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	},
	"getvalueobject": {
		"Name": "Get Value Object from Application State or Services (AppData, etc.)",
		"Address": "fable.Utility.createValueObjectByHashParametersFromInternal",
		"AddressParameterIndices": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	},

	"cleanvaluearray": {
		"Name": "Clean Value Array",
		"Address": "fable.Math.cleanValueArray"
	},
	"cleanvalueobject": {
		"Name": "Clean Value Object",
		"Address": "fable.Math.cleanValueObject"
	},

	"polynomialregression": {
		"Name": "Perform an nth degree Polynomial Regression on a Set of X and Y Values",
		"Address": "fable.Math.polynomialRegression"
	},

	"randominteger": {
		"Name": "Random Integer",
		"Address": "fable.DataGeneration.randomInteger"
	},
	"randomintegerbetween": {
		"Name": "Random Integer Between Two Numbers",
		"Address": "fable.DataGeneration.randomIntegerBetween"
	},
	"randomintegerupto": {
		"Name": "Random Integer",
		"Address": "fable.DataGeneration.randomIntegerUpTo"
	},
	"randomfloat": {
		"Name": "Random Float",
		"Address": "fable.DataGeneration.randomFloat"
	},
	"randomfloatbetween": {
		"Name": "Random Float",
		"Address": "fable.DataGeneration.randomFloatBetween"
	},
	"randomfloatupto": {
		"Name": "Random Float",
		"Address": "fable.DataGeneration.randomFloatUpTo"
	},

	"datemilliseconddifference": {
		"Name": "Date Difference in Milliseconds",
		"Address": "fable.Dates.dateMillisecondDifference"
	},
	"dateseconddifference": {
		"Name": "Date Difference in Seconds",
		"Address": "fable.Dates.dateSecondDifference"
	},
	"dateminutedifference": {
		"Name": "Date Difference in Minutes",
		"Address": "fable.Dates.dateMinuteDifference"
	},
	"datehourdifference": {
		"Name": "Date Difference in Hours",
		"Address": "fable.Dates.dateHourDifference"
	},
	"datedaydifference": {
		"Name": "Date Difference in Days",
		"Address": "fable.Dates.dateDayDifference"
	},
	"dateweekdifference": {
		"Name": "Date Difference in Weeks",
		"Address": "fable.Dates.dateWeekDifference"
	},
	"datemonthdifference": {
		"Name": "Date Difference in Months",
		"Address": "fable.Dates.dateMonthDifference"
	},
	"dateyeardifference": {
		"Name": "Date Difference in Years",
		"Address": "fable.Dates.dateYearDifference"
	},

	"datemathadd": {
		"Name": "Date Math Add",
		"Address": "fable.Dates.dateMath"
	},
	"dateaddmilliseconds": {
		"Name": "Date Add Milliseconds",
		"Address": "fable.Dates.dateAddMilliseconds"
	},
	"dateaddseconds": {
		"Name": "Date Add Seconds",
		"Address": "fable.Dates.dateAddSeconds"
	},
	"dateaddminutes": {
		"Name": "Date Add Minutes",
		"Address": "fable.Dates.dateAddMinutes"
	},
	"dateaddhours": {
		"Name": "Date Add Hours",
		"Address": "fable.Dates.dateAddHours"
	},
	"dateadddays": {
		"Name": "Date Add Days",
		"Address": "fable.Dates.dateAddDays"
	},
	"dateaddweeks": {
		"Name": "Date Add Weeks",
		"Address": "fable.Dates.dateAddWeeks"
	},
	"dateaddmonths": {
		"Name": "Date Add Months",
		"Address": "fable.Dates.dateAddMonths"
	},
	"dateaddyears": {
		"Name": "Date Add Years",
		"Address": "fable.Dates.dateAddYears"
	},

	"datefromparts": {
		"Name": "Date From Parts",
		"Address": "fable.Dates.dateFromParts"
	},

	"slice": {
		"Name": "Slice Array",
		"Address": "fable.Utility.slice"
	},

	"createvalueobjectbyhashes": {
		"Name": "Create Value Object by Hashes",
		"Address": "fable.Utility.createValueObjectByHashes",
		"AddressParameterIndices": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
	},

	"slope": {
		"Name": "Slope of Linear Regression Line (Excel SLOPE equivalent)",
		"Address": "fable.Math.slopePrecise"
	},
	"intercept": {
		"Name": "Y-Intercept of Linear Regression Line (Excel INTERCEPT equivalent)",
		"Address": "fable.Math.interceptPrecise"
	},

	"leastsquares": {
		"Name": "Perform a Least Squares Regression on a Set of Independent Variable Vectors and a Dependent Variable Vector",
		"Address": "fable.Math.leastSquares"
	},
	"linest": {
		"Name": "Perform a Least Squares Regression on a Set of Independent Variable Vectors and a Dependent Variable Vector",
		"Address": "fable.Math.leastSquares"
	},

	"matrixtranspose": {
		"Name": "Transpose a Matrix",
		"Address": "fable.Math.matrixTranspose"
	},
	"matrixmultiply": {
		"Name": "Multiply Two Matrices",
		"Address": "fable.Math.matrixMultiply"
	},
	"matrixvectormultiply": {
		"Name": "Multiply a Matrix by a Vector",
		"Address": "fable.Math.matrixVectorMultiply"
	},
	"matrixinverse": {
		"Name": "Inverse a Matrix",
		"Address": "fable.Math.matrixInverse"
	},
	"gaussianelimination": {
		"Name": "Solve a System of Linear Equations using Gaussian Elimination",
		"Address": "fable.Math.gaussianElimination"
	},
	"predict": {
		"Name": "Predict Y Values from X Values using a Regression Model",
		"Address": "fable.Math.predictFromRegressionModel"
	},

	"stringcountsegments": {
		"Name": "Count Segments in a String",
		"Address": "fable.DataFormat.stringCountSegments"
	},
	"stringgetsegments": {
		"Name": "Get Segments from a String",
		"Address": "fable.DataFormat.stringGetSegments"
	},

	"bezierpoint": {
		"Name": "Evaluate a Point on a Cubic Bezier Curve at Parameter t",
		"Address": "fable.Math.bezierPoint"
	},
	"beziercurvefit": {
		"Name": "Fit a Cubic Bezier Curve to a Set of Data Points",
		"Address": "fable.Math.bezierCurveFit"
	},

	"generateguid": {
		"Name": "Generate a GUID string",
		"Address": "fable.getUUID"
	}
}
