Added sgemv workaround (http://www.openradar.me/radar?id=5864367807528960); improved code reuse