[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmicommits] [lmi] master 18fb647: Update AZ premium tax for 2021 relea
From: 
Greg Chicares 
Subject: 
[lmicommits] [lmi] master 18fb647: Update AZ premium tax for 2021 release 
Date: 
Tue, 1 Dec 2020 17:26:05 0500 (EST) 
branch: master
commit 18fb6475f5c9471ccafc3f9557d0c11bb3d2fa86
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Update AZ premium tax for 2021 release
This is the last change specified in AZ Regulatory Bulletin 201602.
That Bulletin specifies changes in premiumtax rates through 2025;
see Arizona Revised Statutes Title 20, Insurance ยง 20224 (B)(4)(f):
"For premiums received in calendar year 2021 and for each subsequent
calendar year, 1.70 percent"
so no further change is contemplated to the rate committed here.
The performance benchmarks changed insignificantly (they could hardly do
otherwise). Incidentally, committing them elicited this:
rewrite Speed_gcc_i686w64mingw32 (84%)
rewrite Speed_gcc_x86_64pclinuxgnu (88%)
rewrite Speed_gcc_x86_64w64mingw32 (88%)
which is curious: the percentages apparently should be the dissimilarity
index (number of changed lines divided by number of total lines,
truncated to an integral percentage), but all three files have six
changed lines out of seven, so "85%" would be expected for each. Of
course it's no real problem that git actually reports slightly different
dissimilarities here than its documentation implies.

Speed_gcc_i686w64mingw32  12 ++++++
Speed_gcc_x86_64pclinuxgnu  12 ++++++
Speed_gcc_x86_64w64mingw32  12 ++++++
premium_tax.cpp  28 +
4 files changed, 19 insertions(+), 45 deletions()
diff git a/Speed_gcc_i686w64mingw32 b/Speed_gcc_i686w64mingw32
index 418d9b9..cde08ec 100644
 a/Speed_gcc_i686w64mingw32
+++ b/Speed_gcc_i686w64mingw32
@@ 1,7 +1,7 @@
Test speed:
 naic, no solve : 5.213e02 s mean; 51862 us least of 20 runs
 naic, specamt solve : 9.253e02 s mean; 92381 us least of 11 runs
 naic, ee prem solve : 8.511e02 s mean; 84836 us least of 12 runs
 finra, no solve : 2.189e02 s mean; 21725 us least of 46 runs
 finra, specamt solve: 5.914e02 s mean; 58898 us least of 17 runs
 finra, ee prem solve: 5.502e02 s mean; 54818 us least of 19 runs
+ naic, no solve : 5.230e02 s mean; 52006 us least of 20 runs
+ naic, specamt solve : 9.289e02 s mean; 92267 us least of 11 runs
+ naic, ee prem solve : 8.522e02 s mean; 84911 us least of 12 runs
+ finra, no solve : 2.203e02 s mean; 21735 us least of 46 runs
+ finra, specamt solve: 5.923e02 s mean; 59036 us least of 17 runs
+ finra, ee prem solve: 5.509e02 s mean; 54919 us least of 19 runs
diff git a/Speed_gcc_x86_64pclinuxgnu b/Speed_gcc_x86_64pclinuxgnu
index 5cd14b4..9db64ad 100644
 a/Speed_gcc_x86_64pclinuxgnu
+++ b/Speed_gcc_x86_64pclinuxgnu
@@ 1,7 +1,7 @@
Test speed:
 naic, no solve : 2.012e02 s mean; 19026 us least of 50 runs
 naic, specamt solve : 3.338e02 s mean; 32766 us least of 30 runs
 naic, ee prem solve : 3.073e02 s mean; 30324 us least of 33 runs
 finra, no solve : 7.956e03 s mean; 7562 us least of 100 runs
 finra, specamt solve: 2.084e02 s mean; 20269 us least of 48 runs
 finra, ee prem solve: 1.945e02 s mean; 18905 us least of 52 runs
+ naic, no solve : 1.970e02 s mean; 18965 us least of 51 runs
+ naic, specamt solve : 3.330e02 s mean; 32647 us least of 31 runs
+ naic, ee prem solve : 3.066e02 s mean; 30007 us least of 33 runs
+ finra, no solve : 7.952e03 s mean; 7718 us least of 100 runs
+ finra, specamt solve: 2.085e02 s mean; 20213 us least of 48 runs
+ finra, ee prem solve: 1.947e02 s mean; 18808 us least of 52 runs
diff git a/Speed_gcc_x86_64w64mingw32 b/Speed_gcc_x86_64w64mingw32
index a7b2105..d81dbb9 100644
 a/Speed_gcc_x86_64w64mingw32
+++ b/Speed_gcc_x86_64w64mingw32
@@ 1,7 +1,7 @@
Test speed:
 naic, no solve : 2.665e02 s mean; 26499 us least of 38 runs
 naic, specamt solve : 4.183e02 s mean; 41638 us least of 24 runs
 naic, ee prem solve : 4.048e02 s mean; 38911 us least of 25 runs
 finra, no solve : 1.491e02 s mean; 14756 us least of 68 runs
 finra, specamt solve: 2.881e02 s mean; 28627 us least of 35 runs
 finra, ee prem solve: 2.727e02 s mean; 27162 us least of 37 runs
+ naic, no solve : 2.687e02 s mean; 26618 us least of 38 runs
+ naic, specamt solve : 4.202e02 s mean; 41770 us least of 24 runs
+ naic, ee prem solve : 3.920e02 s mean; 38984 us least of 26 runs
+ finra, no solve : 1.497e02 s mean; 14829 us least of 67 runs
+ finra, specamt solve: 2.905e02 s mean; 28797 us least of 35 runs
+ finra, ee prem solve: 2.746e02 s mean; 27293 us least of 37 runs
diff git a/premium_tax.cpp b/premium_tax.cpp
index f9df537..e892c9d 100644
 a/premium_tax.cpp
+++ b/premium_tax.cpp
@@ 358,32 +358,6 @@ double premium_tax::calculate_load(double payment,
stratified_charges const& str
return z;
}
/// Suggest updating rates each year.
///
/// AZ rates vary by calendar year:
///
https://insurance.az.gov/sites/default/files/documents/files/RegulatoryBulletin201602_20160705.pdf
/// 2017 0.0190
/// 2018 0.0185
/// 2019 0.0180
/// 2020 0.0175
/// 2021 0.0170
///
/// Without this assertion, it's too easy to forget to update this
/// rate when building lmi in December for release in January. Each
/// year, expunge the particular assertion that failed, after updating
/// the AZ rate manually. It is better not to make the rate update
/// itself automatically because the schedule of future rates may have
/// changed in the meantime (and actually did, in the 20170508T1544Z
/// commit). Expunge this block comment when the last assertion is
/// expunged.
///
/// Implementation notes:
///  __DATE__[0] is monthname's first letter; D = December
///  __DATE__[10] is last digit of a fourdigit year

static_assert('D' != __DATE__[0]  '0' != __DATE__[10]);
static_assert('D' != __DATE__[0]  '1' != __DATE__[10]);

/// Premiumtax rates for life insurance without retaliation.
///
/// A single table suffices for every domicile, because retaliation is
@@ 403,7 +377,7 @@ std::vector<double> const&
premium_tax_rates_for_life_insurance()
static int const n = 53;
static double const d[n] =
// AL AK AZ AR CA CO CT
 {0.0230, tiered, 0.0175, 0.0250, 0.0235, 0.0200, 0.0175
+ {0.0230, tiered, 0.0170, 0.0250, 0.0235, 0.0200, 0.0175
// DE DC FL GA HI ID
,0.0200, 0.0175, 0.0175, 0.0225, 0.0275, 0.0150
// IL IN IA KS KY LA ME
[Prev in Thread] 
Current Thread 
[Next in Thread] 
 [lmicommits] [lmi] master 18fb647: Update AZ premium tax for 2021 release,
Greg Chicares <=