From 8754ec288dc491f3a9e936e68a1fd35783c9808e Mon Sep 17 00:00:00 2001 From: Dominic Symes Date: Fri, 8 Dec 2023 17:45:31 +0000 Subject: Main Conformance: TANH change, SCATTER clarification TANH can have cancellation between exp(x) and exp(-x) for small abs(x). To allow for this, a lower bound of 0.5*exp(-normal_fraction) is set for the error bound. The TANH formula also can contain 4 exp() values, so the error bound is increased to 4 multiplied by the exp() error bound. SCATTER output size K must be as least as great as the number of indices W, as each index is distinct. Change-Id: I8d1f1c866bd59d8140cf7db76404f5006a04a3f3 Signed-off-by: Dominic Symes --- chapters/introduction.adoc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'chapters/introduction.adoc') diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc index 11ba26b..dc45808 100644 --- a/chapters/introduction.adoc +++ b/chapters/introduction.adoc @@ -281,12 +281,18 @@ Let `out_ref` be the result of the fp64_t reference implementation of `pow(x,y)` Let `err_bnd = abs(out_ref) * exp2(-normal_frac) * (1+abs(log(abs(x))*y))` + Then `tosa_reference_check_fp_bnd(out_imp, out_ref, err_bnd)` must be true -| <>, <> +| <> | Let `x` be an input element and `out_imp` the implementation output. + Let `out_ref` be the result of the fp64_t reference implementation. + Let `err_bnd = abs(out_ref) * exp2(-normal_frac) * (2 * (1+abs(x)))` + Then `tosa_reference_check_fp_bnd(out_imp, out_ref, err_bnd)` must be true +| <> +| Let `x` be an input element and `out_imp` the implementation output. + +Let `out_ref` be the result of the fp64_t reference implementation. + +Let `err_bnd = exp2(-normal_frac) * max(0.5, abs(out_ref) * (4 * (1+abs(x))))` + +Then `tosa_reference_check_fp_bnd(out_imp, out_ref, err_bnd)` must be true + | <> | Each output can be expressed as a dot product of an input vector with a vector of ones. + This dot product must meet the <> -- cgit v1.2.1