“…Recent work has explored a variety of approximation techniques that include: (a) approximate storage designs [38,39] that trades quality of data for reduced energy [38] and longer lifetime [39], (b) voltage overscaling [28,40,41], (c) loop perforation [30,42,43], (d) loop early termination [29], (e) computation substitution [6,9,29,44], (f) memoization [7,8,45], (g) limited fault recovery [42,[46][47][48][49][50], (h) precision scaling [16,51], (i) approximate circuit synthesis [19,[52][53][54][55][56][57], and (j) neural acceleration [10][11][12][13][14][15].…”