diff options
author | Dominic Symes <dominic.symes@arm.com> | 2024-01-08 10:45:47 +0000 |
---|---|---|
committer | Dominic Symes <dominic.symes@arm.com> | 2024-01-09 15:47:16 +0000 |
commit | 83e79b50f76f99e606e759798e5e5cd6e88627ce (patch) | |
tree | 5835f7ec3204a186478fb20b3e32210cf6e401a0 | |
parent | 18acfe33b7c65eef3699bb2c86c85ad8169ac430 (diff) | |
download | specification-83e79b50f76f99e606e759798e5e5cd6e88627ce.tar.gz |
Main Conformance: Clarify REDUCE_PRODUCT conformance
Update the REDUCE_PRODUCT conformance description
to be consistent with EXP, POW, TANH, SIGMOID.
Signed-off-by: Dominic Symes <dominic.symes@arm.com>
Change-Id: I083c41ce09e70b51d07cfea30a4bbc4dff4a8657
-rw-r--r-- | chapters/introduction.adoc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/chapters/introduction.adoc b/chapters/introduction.adoc index f0ad12c..3336aea 100644 --- a/chapters/introduction.adoc +++ b/chapters/introduction.adoc @@ -298,8 +298,9 @@ This dot product must meet the <<Dot product accuracy requirements>> | <<REDUCE_PRODUCT>> | Result overflows must be set to an infinity of the correct sign. + Result underflows must be set to a zero of the correct sign. + -Othewise if the final product and all sub-products are within the normal range then the result `R` must have an absolute error of at most `E*abs\(R)` -where `E = pow(1 + pow(2, -M-1), N) - 1`. In this expression M is the number of mantissa bit of the floating point format and N is the number of elements in the product. +Let n be number of elements in the product, out_imp the implementation result, and out_ref the result of the fp64_t reference implementation. + +Let `err_bnd = abs(out_ref) * (pow(1 + pow(2, -normal_frac<in_out_t> - 1), n) - 1)` + +Then `tosa_reference_check_fp_bnd<in_out_t>(out_imp, out_ref, err_bnd)` must be true |=== |