mlmm-toolkit 0.2.2.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. hessian_ff/__init__.py +50 -0
  2. hessian_ff/analytical_hessian.py +609 -0
  3. hessian_ff/constants.py +46 -0
  4. hessian_ff/forcefield.py +339 -0
  5. hessian_ff/loaders.py +608 -0
  6. hessian_ff/native/Makefile +8 -0
  7. hessian_ff/native/__init__.py +28 -0
  8. hessian_ff/native/analytical_hessian.py +88 -0
  9. hessian_ff/native/analytical_hessian_ext.cpp +258 -0
  10. hessian_ff/native/bonded.py +82 -0
  11. hessian_ff/native/bonded_ext.cpp +640 -0
  12. hessian_ff/native/loader.py +349 -0
  13. hessian_ff/native/nonbonded.py +118 -0
  14. hessian_ff/native/nonbonded_ext.cpp +1150 -0
  15. hessian_ff/prmtop_parmed.py +23 -0
  16. hessian_ff/system.py +107 -0
  17. hessian_ff/terms/__init__.py +14 -0
  18. hessian_ff/terms/angle.py +73 -0
  19. hessian_ff/terms/bond.py +44 -0
  20. hessian_ff/terms/cmap.py +406 -0
  21. hessian_ff/terms/dihedral.py +141 -0
  22. hessian_ff/terms/nonbonded.py +209 -0
  23. hessian_ff/tests/__init__.py +0 -0
  24. hessian_ff/tests/conftest.py +75 -0
  25. hessian_ff/tests/data/small/complex.parm7 +1346 -0
  26. hessian_ff/tests/data/small/complex.pdb +125 -0
  27. hessian_ff/tests/data/small/complex.rst7 +63 -0
  28. hessian_ff/tests/test_coords_input.py +44 -0
  29. hessian_ff/tests/test_energy_force.py +49 -0
  30. hessian_ff/tests/test_hessian.py +137 -0
  31. hessian_ff/tests/test_smoke.py +18 -0
  32. hessian_ff/tests/test_validation.py +40 -0
  33. hessian_ff/workflows.py +889 -0
  34. mlmm/__init__.py +36 -0
  35. mlmm/__main__.py +7 -0
  36. mlmm/_version.py +34 -0
  37. mlmm/add_elem_info.py +374 -0
  38. mlmm/advanced_help.py +91 -0
  39. mlmm/align_freeze_atoms.py +601 -0
  40. mlmm/all.py +3535 -0
  41. mlmm/bond_changes.py +231 -0
  42. mlmm/bool_compat.py +223 -0
  43. mlmm/cli.py +574 -0
  44. mlmm/cli_utils.py +166 -0
  45. mlmm/default_group.py +337 -0
  46. mlmm/defaults.py +467 -0
  47. mlmm/define_layer.py +526 -0
  48. mlmm/dft.py +1041 -0
  49. mlmm/energy_diagram.py +253 -0
  50. mlmm/extract.py +2213 -0
  51. mlmm/fix_altloc.py +464 -0
  52. mlmm/freq.py +1406 -0
  53. mlmm/harmonic_constraints.py +140 -0
  54. mlmm/hessian_cache.py +44 -0
  55. mlmm/hessian_calc.py +174 -0
  56. mlmm/irc.py +638 -0
  57. mlmm/mlmm_calc.py +2262 -0
  58. mlmm/mm_parm.py +945 -0
  59. mlmm/oniom_export.py +1983 -0
  60. mlmm/oniom_import.py +457 -0
  61. mlmm/opt.py +1742 -0
  62. mlmm/path_opt.py +1353 -0
  63. mlmm/path_search.py +2299 -0
  64. mlmm/preflight.py +88 -0
  65. mlmm/py.typed +1 -0
  66. mlmm/pysis_runner.py +45 -0
  67. mlmm/scan.py +1047 -0
  68. mlmm/scan2d.py +1226 -0
  69. mlmm/scan3d.py +1265 -0
  70. mlmm/scan_common.py +184 -0
  71. mlmm/summary_log.py +736 -0
  72. mlmm/trj2fig.py +448 -0
  73. mlmm/tsopt.py +2871 -0
  74. mlmm/utils.py +2309 -0
  75. mlmm/xtb_embedcharge_correction.py +475 -0
  76. mlmm_toolkit-0.2.2.dev0.dist-info/METADATA +1159 -0
  77. mlmm_toolkit-0.2.2.dev0.dist-info/RECORD +372 -0
  78. mlmm_toolkit-0.2.2.dev0.dist-info/WHEEL +5 -0
  79. mlmm_toolkit-0.2.2.dev0.dist-info/entry_points.txt +2 -0
  80. mlmm_toolkit-0.2.2.dev0.dist-info/licenses/LICENSE +674 -0
  81. mlmm_toolkit-0.2.2.dev0.dist-info/top_level.txt +4 -0
  82. pysisyphus/Geometry.py +1667 -0
  83. pysisyphus/LICENSE +674 -0
  84. pysisyphus/TableFormatter.py +63 -0
  85. pysisyphus/TablePrinter.py +74 -0
  86. pysisyphus/__init__.py +12 -0
  87. pysisyphus/calculators/AFIR.py +452 -0
  88. pysisyphus/calculators/AnaPot.py +20 -0
  89. pysisyphus/calculators/AnaPot2.py +48 -0
  90. pysisyphus/calculators/AnaPot3.py +12 -0
  91. pysisyphus/calculators/AnaPot4.py +20 -0
  92. pysisyphus/calculators/AnaPotBase.py +337 -0
  93. pysisyphus/calculators/AnaPotCBM.py +25 -0
  94. pysisyphus/calculators/AtomAtomTransTorque.py +154 -0
  95. pysisyphus/calculators/CFOUR.py +250 -0
  96. pysisyphus/calculators/Calculator.py +844 -0
  97. pysisyphus/calculators/CerjanMiller.py +24 -0
  98. pysisyphus/calculators/Composite.py +123 -0
  99. pysisyphus/calculators/ConicalIntersection.py +171 -0
  100. pysisyphus/calculators/DFTBp.py +430 -0
  101. pysisyphus/calculators/DFTD3.py +66 -0
  102. pysisyphus/calculators/DFTD4.py +84 -0
  103. pysisyphus/calculators/Dalton.py +61 -0
  104. pysisyphus/calculators/Dimer.py +681 -0
  105. pysisyphus/calculators/Dummy.py +20 -0
  106. pysisyphus/calculators/EGO.py +76 -0
  107. pysisyphus/calculators/EnergyMin.py +224 -0
  108. pysisyphus/calculators/ExternalPotential.py +264 -0
  109. pysisyphus/calculators/FakeASE.py +35 -0
  110. pysisyphus/calculators/FourWellAnaPot.py +28 -0
  111. pysisyphus/calculators/FreeEndNEBPot.py +39 -0
  112. pysisyphus/calculators/Gaussian09.py +18 -0
  113. pysisyphus/calculators/Gaussian16.py +726 -0
  114. pysisyphus/calculators/HardSphere.py +159 -0
  115. pysisyphus/calculators/IDPPCalculator.py +49 -0
  116. pysisyphus/calculators/IPIClient.py +133 -0
  117. pysisyphus/calculators/IPIServer.py +234 -0
  118. pysisyphus/calculators/LEPSBase.py +24 -0
  119. pysisyphus/calculators/LEPSExpr.py +139 -0
  120. pysisyphus/calculators/LennardJones.py +80 -0
  121. pysisyphus/calculators/MOPAC.py +219 -0
  122. pysisyphus/calculators/MullerBrownSympyPot.py +51 -0
  123. pysisyphus/calculators/MultiCalc.py +85 -0
  124. pysisyphus/calculators/NFK.py +45 -0
  125. pysisyphus/calculators/OBabel.py +87 -0
  126. pysisyphus/calculators/ONIOMv2.py +1129 -0
  127. pysisyphus/calculators/ORCA.py +893 -0
  128. pysisyphus/calculators/ORCA5.py +6 -0
  129. pysisyphus/calculators/OpenMM.py +88 -0
  130. pysisyphus/calculators/OpenMolcas.py +281 -0
  131. pysisyphus/calculators/OverlapCalculator.py +908 -0
  132. pysisyphus/calculators/Psi4.py +218 -0
  133. pysisyphus/calculators/PyPsi4.py +37 -0
  134. pysisyphus/calculators/PySCF.py +341 -0
  135. pysisyphus/calculators/PyXTB.py +73 -0
  136. pysisyphus/calculators/QCEngine.py +106 -0
  137. pysisyphus/calculators/Rastrigin.py +22 -0
  138. pysisyphus/calculators/Remote.py +76 -0
  139. pysisyphus/calculators/Rosenbrock.py +15 -0
  140. pysisyphus/calculators/SocketCalc.py +97 -0
  141. pysisyphus/calculators/TIP3P.py +111 -0
  142. pysisyphus/calculators/TransTorque.py +161 -0
  143. pysisyphus/calculators/Turbomole.py +965 -0
  144. pysisyphus/calculators/VRIPot.py +37 -0
  145. pysisyphus/calculators/WFOWrapper.py +333 -0
  146. pysisyphus/calculators/WFOWrapper2.py +341 -0
  147. pysisyphus/calculators/XTB.py +418 -0
  148. pysisyphus/calculators/__init__.py +81 -0
  149. pysisyphus/calculators/cosmo_data.py +139 -0
  150. pysisyphus/calculators/parser.py +150 -0
  151. pysisyphus/color.py +19 -0
  152. pysisyphus/config.py +133 -0
  153. pysisyphus/constants.py +65 -0
  154. pysisyphus/cos/AdaptiveNEB.py +230 -0
  155. pysisyphus/cos/ChainOfStates.py +725 -0
  156. pysisyphus/cos/FreeEndNEB.py +25 -0
  157. pysisyphus/cos/FreezingString.py +103 -0
  158. pysisyphus/cos/GrowingChainOfStates.py +71 -0
  159. pysisyphus/cos/GrowingNT.py +309 -0
  160. pysisyphus/cos/GrowingString.py +508 -0
  161. pysisyphus/cos/NEB.py +189 -0
  162. pysisyphus/cos/SimpleZTS.py +64 -0
  163. pysisyphus/cos/__init__.py +22 -0
  164. pysisyphus/cos/stiffness.py +199 -0
  165. pysisyphus/drivers/__init__.py +17 -0
  166. pysisyphus/drivers/afir.py +855 -0
  167. pysisyphus/drivers/barriers.py +271 -0
  168. pysisyphus/drivers/birkholz.py +138 -0
  169. pysisyphus/drivers/cluster.py +318 -0
  170. pysisyphus/drivers/diabatization.py +133 -0
  171. pysisyphus/drivers/merge.py +368 -0
  172. pysisyphus/drivers/merge_mol2.py +322 -0
  173. pysisyphus/drivers/opt.py +375 -0
  174. pysisyphus/drivers/perf.py +91 -0
  175. pysisyphus/drivers/pka.py +52 -0
  176. pysisyphus/drivers/precon_pos_rot.py +669 -0
  177. pysisyphus/drivers/rates.py +480 -0
  178. pysisyphus/drivers/replace.py +219 -0
  179. pysisyphus/drivers/scan.py +212 -0
  180. pysisyphus/drivers/spectrum.py +166 -0
  181. pysisyphus/drivers/thermo.py +31 -0
  182. pysisyphus/dynamics/Gaussian.py +103 -0
  183. pysisyphus/dynamics/__init__.py +20 -0
  184. pysisyphus/dynamics/colvars.py +136 -0
  185. pysisyphus/dynamics/driver.py +297 -0
  186. pysisyphus/dynamics/helpers.py +256 -0
  187. pysisyphus/dynamics/lincs.py +105 -0
  188. pysisyphus/dynamics/mdp.py +364 -0
  189. pysisyphus/dynamics/rattle.py +121 -0
  190. pysisyphus/dynamics/thermostats.py +128 -0
  191. pysisyphus/dynamics/wigner.py +266 -0
  192. pysisyphus/elem_data.py +3473 -0
  193. pysisyphus/exceptions.py +2 -0
  194. pysisyphus/filtertrj.py +69 -0
  195. pysisyphus/helpers.py +623 -0
  196. pysisyphus/helpers_pure.py +649 -0
  197. pysisyphus/init_logging.py +50 -0
  198. pysisyphus/intcoords/Bend.py +69 -0
  199. pysisyphus/intcoords/Bend2.py +25 -0
  200. pysisyphus/intcoords/BondedFragment.py +32 -0
  201. pysisyphus/intcoords/Cartesian.py +41 -0
  202. pysisyphus/intcoords/CartesianCoords.py +140 -0
  203. pysisyphus/intcoords/Coords.py +56 -0
  204. pysisyphus/intcoords/DLC.py +197 -0
  205. pysisyphus/intcoords/DistanceFunction.py +34 -0
  206. pysisyphus/intcoords/DummyImproper.py +70 -0
  207. pysisyphus/intcoords/DummyTorsion.py +72 -0
  208. pysisyphus/intcoords/LinearBend.py +105 -0
  209. pysisyphus/intcoords/LinearDisplacement.py +80 -0
  210. pysisyphus/intcoords/OutOfPlane.py +59 -0
  211. pysisyphus/intcoords/PrimTypes.py +286 -0
  212. pysisyphus/intcoords/Primitive.py +137 -0
  213. pysisyphus/intcoords/RedundantCoords.py +659 -0
  214. pysisyphus/intcoords/RobustTorsion.py +59 -0
  215. pysisyphus/intcoords/Rotation.py +147 -0
  216. pysisyphus/intcoords/Stretch.py +31 -0
  217. pysisyphus/intcoords/Torsion.py +101 -0
  218. pysisyphus/intcoords/Torsion2.py +25 -0
  219. pysisyphus/intcoords/Translation.py +45 -0
  220. pysisyphus/intcoords/__init__.py +61 -0
  221. pysisyphus/intcoords/augment_bonds.py +126 -0
  222. pysisyphus/intcoords/derivatives.py +10512 -0
  223. pysisyphus/intcoords/eval.py +80 -0
  224. pysisyphus/intcoords/exceptions.py +37 -0
  225. pysisyphus/intcoords/findiffs.py +48 -0
  226. pysisyphus/intcoords/generate_derivatives.py +414 -0
  227. pysisyphus/intcoords/helpers.py +235 -0
  228. pysisyphus/intcoords/logging_conf.py +10 -0
  229. pysisyphus/intcoords/mp_derivatives.py +10836 -0
  230. pysisyphus/intcoords/setup.py +962 -0
  231. pysisyphus/intcoords/setup_fast.py +176 -0
  232. pysisyphus/intcoords/update.py +272 -0
  233. pysisyphus/intcoords/valid.py +89 -0
  234. pysisyphus/interpolate/Geodesic.py +93 -0
  235. pysisyphus/interpolate/IDPP.py +55 -0
  236. pysisyphus/interpolate/Interpolator.py +116 -0
  237. pysisyphus/interpolate/LST.py +70 -0
  238. pysisyphus/interpolate/Redund.py +152 -0
  239. pysisyphus/interpolate/__init__.py +9 -0
  240. pysisyphus/interpolate/helpers.py +34 -0
  241. pysisyphus/io/__init__.py +22 -0
  242. pysisyphus/io/aomix.py +178 -0
  243. pysisyphus/io/cjson.py +24 -0
  244. pysisyphus/io/crd.py +101 -0
  245. pysisyphus/io/cube.py +220 -0
  246. pysisyphus/io/fchk.py +184 -0
  247. pysisyphus/io/hdf5.py +49 -0
  248. pysisyphus/io/hessian.py +72 -0
  249. pysisyphus/io/mol2.py +146 -0
  250. pysisyphus/io/molden.py +293 -0
  251. pysisyphus/io/orca.py +189 -0
  252. pysisyphus/io/pdb.py +269 -0
  253. pysisyphus/io/psf.py +79 -0
  254. pysisyphus/io/pubchem.py +31 -0
  255. pysisyphus/io/qcschema.py +34 -0
  256. pysisyphus/io/sdf.py +29 -0
  257. pysisyphus/io/xyz.py +61 -0
  258. pysisyphus/io/zmat.py +175 -0
  259. pysisyphus/irc/DWI.py +108 -0
  260. pysisyphus/irc/DampedVelocityVerlet.py +134 -0
  261. pysisyphus/irc/Euler.py +22 -0
  262. pysisyphus/irc/EulerPC.py +345 -0
  263. pysisyphus/irc/GonzalezSchlegel.py +187 -0
  264. pysisyphus/irc/IMKMod.py +164 -0
  265. pysisyphus/irc/IRC.py +878 -0
  266. pysisyphus/irc/IRCDummy.py +10 -0
  267. pysisyphus/irc/Instanton.py +307 -0
  268. pysisyphus/irc/LQA.py +53 -0
  269. pysisyphus/irc/ModeKill.py +136 -0
  270. pysisyphus/irc/ParamPlot.py +53 -0
  271. pysisyphus/irc/RK4.py +36 -0
  272. pysisyphus/irc/__init__.py +31 -0
  273. pysisyphus/irc/initial_displ.py +219 -0
  274. pysisyphus/linalg.py +411 -0
  275. pysisyphus/line_searches/Backtracking.py +88 -0
  276. pysisyphus/line_searches/HagerZhang.py +184 -0
  277. pysisyphus/line_searches/LineSearch.py +232 -0
  278. pysisyphus/line_searches/StrongWolfe.py +108 -0
  279. pysisyphus/line_searches/__init__.py +9 -0
  280. pysisyphus/line_searches/interpol.py +15 -0
  281. pysisyphus/modefollow/NormalMode.py +40 -0
  282. pysisyphus/modefollow/__init__.py +10 -0
  283. pysisyphus/modefollow/davidson.py +199 -0
  284. pysisyphus/modefollow/lanczos.py +95 -0
  285. pysisyphus/optimizers/BFGS.py +99 -0
  286. pysisyphus/optimizers/BacktrackingOptimizer.py +113 -0
  287. pysisyphus/optimizers/ConjugateGradient.py +98 -0
  288. pysisyphus/optimizers/CubicNewton.py +75 -0
  289. pysisyphus/optimizers/FIRE.py +113 -0
  290. pysisyphus/optimizers/HessianOptimizer.py +1176 -0
  291. pysisyphus/optimizers/LBFGS.py +228 -0
  292. pysisyphus/optimizers/LayerOpt.py +411 -0
  293. pysisyphus/optimizers/MicroOptimizer.py +169 -0
  294. pysisyphus/optimizers/NCOptimizer.py +90 -0
  295. pysisyphus/optimizers/Optimizer.py +1084 -0
  296. pysisyphus/optimizers/PreconLBFGS.py +260 -0
  297. pysisyphus/optimizers/PreconSteepestDescent.py +7 -0
  298. pysisyphus/optimizers/QuickMin.py +74 -0
  299. pysisyphus/optimizers/RFOptimizer.py +181 -0
  300. pysisyphus/optimizers/RSA.py +99 -0
  301. pysisyphus/optimizers/StabilizedQNMethod.py +248 -0
  302. pysisyphus/optimizers/SteepestDescent.py +23 -0
  303. pysisyphus/optimizers/StringOptimizer.py +173 -0
  304. pysisyphus/optimizers/__init__.py +41 -0
  305. pysisyphus/optimizers/closures.py +301 -0
  306. pysisyphus/optimizers/cls_map.py +58 -0
  307. pysisyphus/optimizers/exceptions.py +6 -0
  308. pysisyphus/optimizers/gdiis.py +280 -0
  309. pysisyphus/optimizers/guess_hessians.py +311 -0
  310. pysisyphus/optimizers/hessian_updates.py +355 -0
  311. pysisyphus/optimizers/poly_fit.py +285 -0
  312. pysisyphus/optimizers/precon.py +153 -0
  313. pysisyphus/optimizers/restrict_step.py +24 -0
  314. pysisyphus/pack.py +172 -0
  315. pysisyphus/peakdetect.py +948 -0
  316. pysisyphus/plot.py +1031 -0
  317. pysisyphus/run.py +2106 -0
  318. pysisyphus/socket_helper.py +74 -0
  319. pysisyphus/stocastic/FragmentKick.py +132 -0
  320. pysisyphus/stocastic/Kick.py +81 -0
  321. pysisyphus/stocastic/Pipeline.py +303 -0
  322. pysisyphus/stocastic/__init__.py +21 -0
  323. pysisyphus/stocastic/align.py +127 -0
  324. pysisyphus/testing.py +96 -0
  325. pysisyphus/thermo.py +156 -0
  326. pysisyphus/trj.py +824 -0
  327. pysisyphus/tsoptimizers/RSIRFOptimizer.py +56 -0
  328. pysisyphus/tsoptimizers/RSPRFOptimizer.py +182 -0
  329. pysisyphus/tsoptimizers/TRIM.py +59 -0
  330. pysisyphus/tsoptimizers/TSHessianOptimizer.py +463 -0
  331. pysisyphus/tsoptimizers/__init__.py +23 -0
  332. pysisyphus/wavefunction/Basis.py +239 -0
  333. pysisyphus/wavefunction/DIIS.py +76 -0
  334. pysisyphus/wavefunction/__init__.py +25 -0
  335. pysisyphus/wavefunction/build_ext.py +42 -0
  336. pysisyphus/wavefunction/cart2sph.py +190 -0
  337. pysisyphus/wavefunction/diabatization.py +304 -0
  338. pysisyphus/wavefunction/excited_states.py +435 -0
  339. pysisyphus/wavefunction/gen_ints.py +1811 -0
  340. pysisyphus/wavefunction/helpers.py +104 -0
  341. pysisyphus/wavefunction/ints/__init__.py +0 -0
  342. pysisyphus/wavefunction/ints/boys.py +193 -0
  343. pysisyphus/wavefunction/ints/boys_table_N_64_xasym_27.1_step_0.01.npy +0 -0
  344. pysisyphus/wavefunction/ints/cart_gto3d.py +176 -0
  345. pysisyphus/wavefunction/ints/coulomb3d.py +25928 -0
  346. pysisyphus/wavefunction/ints/diag_quadrupole3d.py +10036 -0
  347. pysisyphus/wavefunction/ints/dipole3d.py +8762 -0
  348. pysisyphus/wavefunction/ints/int2c2e3d.py +7198 -0
  349. pysisyphus/wavefunction/ints/int3c2e3d_sph.py +65040 -0
  350. pysisyphus/wavefunction/ints/kinetic3d.py +8240 -0
  351. pysisyphus/wavefunction/ints/ovlp3d.py +3777 -0
  352. pysisyphus/wavefunction/ints/quadrupole3d.py +15054 -0
  353. pysisyphus/wavefunction/ints/self_ovlp3d.py +198 -0
  354. pysisyphus/wavefunction/localization.py +458 -0
  355. pysisyphus/wavefunction/multipole.py +159 -0
  356. pysisyphus/wavefunction/normalization.py +36 -0
  357. pysisyphus/wavefunction/pop_analysis.py +134 -0
  358. pysisyphus/wavefunction/shells.py +1171 -0
  359. pysisyphus/wavefunction/wavefunction.py +504 -0
  360. pysisyphus/wrapper/__init__.py +11 -0
  361. pysisyphus/wrapper/exceptions.py +2 -0
  362. pysisyphus/wrapper/jmol.py +120 -0
  363. pysisyphus/wrapper/mwfn.py +169 -0
  364. pysisyphus/wrapper/packmol.py +71 -0
  365. pysisyphus/xyzloader.py +168 -0
  366. pysisyphus/yaml_mods.py +45 -0
  367. thermoanalysis/LICENSE +674 -0
  368. thermoanalysis/QCData.py +244 -0
  369. thermoanalysis/__init__.py +0 -0
  370. thermoanalysis/config.py +3 -0
  371. thermoanalysis/constants.py +20 -0
  372. thermoanalysis/thermo.py +1011 -0
@@ -0,0 +1,3777 @@
1
+ """
2
+ Molecular integrals over Gaussian basis functions generated by sympleints.
3
+ See https://github.com/eljost/sympleints for more information.
4
+
5
+ sympleints version: 0.1.dev79+g63f1ef8.d20230515
6
+ symppy version: 1.10.1
7
+
8
+ sympleints was executed with the following arguments:
9
+ lmax = 4
10
+ lauxmax = 6
11
+ write = False
12
+ out_dir = devel_ints
13
+ keys = ['~2c2e', '~3c2e_sph']
14
+ sph = False
15
+ opt_basic = True
16
+ normalize = cgto
17
+ """
18
+
19
+ import numpy
20
+
21
+
22
+ def ovlp3d_00(ax, da, A, bx, db, B):
23
+ """Cartesian 3D (ss) overlap integral.
24
+
25
+ Generated code; DO NOT modify by hand!"""
26
+
27
+ result = numpy.zeros((1, 1), dtype=float)
28
+
29
+ x0 = (ax + bx) ** (-1.0)
30
+ x1 = ax * bx * x0
31
+
32
+ # 1 item(s)
33
+ result[0, 0] = numpy.sum(
34
+ 5.568327996831708
35
+ * da
36
+ * db
37
+ * x0**1.5
38
+ * numpy.exp(-x1 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
39
+ )
40
+ return result
41
+
42
+
43
+ def ovlp3d_01(ax, da, A, bx, db, B):
44
+ """Cartesian 3D (sp) overlap integral.
45
+
46
+ Generated code; DO NOT modify by hand!"""
47
+
48
+ result = numpy.zeros((1, 3), dtype=float)
49
+
50
+ x0 = (ax + bx) ** (-1.0)
51
+ x1 = ax * bx * x0
52
+ x2 = (
53
+ 5.568327996831708
54
+ * da
55
+ * db
56
+ * x0**1.5
57
+ * numpy.exp(-x1 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
58
+ )
59
+
60
+ # 3 item(s)
61
+ result[0, 0] = numpy.sum(x2 * (x0 * (ax * A[0] + bx * B[0]) - B[0]))
62
+ result[0, 1] = numpy.sum(x2 * (x0 * (ax * A[1] + bx * B[1]) - B[1]))
63
+ result[0, 2] = numpy.sum(x2 * (x0 * (ax * A[2] + bx * B[2]) - B[2]))
64
+ return result
65
+
66
+
67
+ def ovlp3d_02(ax, da, A, bx, db, B):
68
+ """Cartesian 3D (sd) overlap integral.
69
+
70
+ Generated code; DO NOT modify by hand!"""
71
+
72
+ result = numpy.zeros((1, 6), dtype=float)
73
+
74
+ x0 = (ax + bx) ** (-1.0)
75
+ x1 = -x0 * (ax * A[0] + bx * B[0]) + B[0]
76
+ x2 = 0.5 * x0
77
+ x3 = ax * bx * x0
78
+ x4 = (
79
+ 5.568327996831708
80
+ * da
81
+ * db
82
+ * x0**1.5
83
+ * numpy.exp(-x3 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
84
+ )
85
+ x5 = 0.5773502691896258 * x4
86
+ x6 = -x0 * (ax * A[1] + bx * B[1]) + B[1]
87
+ x7 = x1 * x4
88
+ x8 = -x0 * (ax * A[2] + bx * B[2]) + B[2]
89
+
90
+ # 6 item(s)
91
+ result[0, 0] = numpy.sum(x5 * (x1**2 + x2))
92
+ result[0, 1] = numpy.sum(x6 * x7)
93
+ result[0, 2] = numpy.sum(x7 * x8)
94
+ result[0, 3] = numpy.sum(x5 * (x2 + x6**2))
95
+ result[0, 4] = numpy.sum(x4 * x6 * x8)
96
+ result[0, 5] = numpy.sum(x5 * (x2 + x8**2))
97
+ return result
98
+
99
+
100
+ def ovlp3d_03(ax, da, A, bx, db, B):
101
+ """Cartesian 3D (sf) overlap integral.
102
+
103
+ Generated code; DO NOT modify by hand!"""
104
+
105
+ result = numpy.zeros((1, 10), dtype=float)
106
+
107
+ x0 = (ax + bx) ** (-1.0)
108
+ x1 = -x0 * (ax * A[0] + bx * B[0]) + B[0]
109
+ x2 = x1**2
110
+ x3 = 1.5 * x0
111
+ x4 = 5.568327996831708
112
+ x5 = numpy.sqrt(x0)
113
+ x6 = ax * bx * x0
114
+ x7 = numpy.exp(-x6 * (A[0] - B[0]) ** 2)
115
+ x8 = numpy.exp(-x6 * (A[1] - B[1]) ** 2)
116
+ x9 = numpy.exp(-x6 * (A[2] - B[2]) ** 2)
117
+ x10 = da * db * x0 * x1 * x4 * x5 * x7 * x8 * x9
118
+ x11 = 0.2581988897471611
119
+ x12 = -x0 * (ax * A[1] + bx * B[1]) + B[1]
120
+ x13 = da * db * x0 * x4 * x5 * x7 * x8 * x9
121
+ x14 = x12 * x13
122
+ x15 = 0.5 * x0
123
+ x16 = 0.5773502691896258
124
+ x17 = x16 * (x15 + x2)
125
+ x18 = -x0 * (ax * A[2] + bx * B[2]) + B[2]
126
+ x19 = x13 * x18
127
+ x20 = x12**2
128
+ x21 = x15 + x20
129
+ x22 = x10 * x16
130
+ x23 = x18**2
131
+ x24 = x15 + x23
132
+
133
+ # 10 item(s)
134
+ result[0, 0] = numpy.sum(-x10 * x11 * (x2 + x3))
135
+ result[0, 1] = numpy.sum(-x14 * x17)
136
+ result[0, 2] = numpy.sum(-x17 * x19)
137
+ result[0, 3] = numpy.sum(-x21 * x22)
138
+ result[0, 4] = numpy.sum(-x10 * x12 * x18)
139
+ result[0, 5] = numpy.sum(-x22 * x24)
140
+ result[0, 6] = numpy.sum(-x11 * x14 * (x20 + x3))
141
+ result[0, 7] = numpy.sum(-x16 * x19 * x21)
142
+ result[0, 8] = numpy.sum(-x14 * x16 * x24)
143
+ result[0, 9] = numpy.sum(-x11 * x19 * (x23 + x3))
144
+ return result
145
+
146
+
147
+ def ovlp3d_04(ax, da, A, bx, db, B):
148
+ """Cartesian 3D (sg) overlap integral.
149
+
150
+ Generated code; DO NOT modify by hand!"""
151
+
152
+ result = numpy.zeros((1, 15), dtype=float)
153
+
154
+ x0 = 0.5 / (ax + bx)
155
+ x1 = (ax + bx) ** (-1.0)
156
+ x2 = x1 * (ax * A[0] + bx * B[0]) - B[0]
157
+ x3 = ax * bx * x1
158
+ x4 = numpy.exp(-x3 * (A[0] - B[0]) ** 2)
159
+ x5 = 1.772453850905516 * numpy.sqrt(x1)
160
+ x6 = x4 * x5
161
+ x7 = x2**2 * x6
162
+ x8 = x0 * x6
163
+ x9 = x7 + x8
164
+ x10 = x2 * (2.0 * x8 + x9)
165
+ x11 = numpy.exp(-x3 * (A[1] - B[1]) ** 2)
166
+ x12 = da * db
167
+ x13 = numpy.exp(-x3 * (A[2] - B[2]) ** 2)
168
+ x14 = 3.141592653589793 * x1 * x13
169
+ x15 = x12 * x14
170
+ x16 = x11 * x15
171
+ x17 = 0.09759000729485332
172
+ x18 = x1 * (ax * A[1] + bx * B[1]) - B[1]
173
+ x19 = 0.2581988897471611
174
+ x20 = x18 * x19
175
+ x21 = x10 * x16
176
+ x22 = x1 * (ax * A[2] + bx * B[2]) - B[2]
177
+ x23 = x19 * x22
178
+ x24 = x11 * x5
179
+ x25 = x18**2 * x24
180
+ x26 = x0 * x24
181
+ x27 = x25 + x26
182
+ x28 = x13 * x5
183
+ x29 = 0.3333333333333333 * x12
184
+ x30 = x29 * x9
185
+ x31 = 1.732050807568877
186
+ x32 = x18 * x31
187
+ x33 = x14 * x22
188
+ x34 = x22**2 * x28
189
+ x35 = x0 * x28
190
+ x36 = x34 + x35
191
+ x37 = x2 * x4
192
+ x38 = x19 * x37
193
+ x39 = x18 * (2.0 * x26 + x27)
194
+ x40 = x15 * x39
195
+ x41 = x27 * x29
196
+ x42 = 3.141592653589793 * x1 * x11
197
+ x43 = x22 * (2.0 * x35 + x36)
198
+ x44 = x12 * x42
199
+ x45 = x43 * x44
200
+ x46 = x17 * x4
201
+
202
+ # 15 item(s)
203
+ result[0, 0] = numpy.sum(x16 * x17 * (3.0 * x0 * (x7 + x8) + x10 * x2))
204
+ result[0, 1] = numpy.sum(x20 * x21)
205
+ result[0, 2] = numpy.sum(x21 * x23)
206
+ result[0, 3] = numpy.sum(x27 * x28 * x30)
207
+ result[0, 4] = numpy.sum(x11 * x30 * x32 * x33)
208
+ result[0, 5] = numpy.sum(x24 * x30 * x36)
209
+ result[0, 6] = numpy.sum(x38 * x40)
210
+ result[0, 7] = numpy.sum(x31 * x33 * x37 * x41)
211
+ result[0, 8] = numpy.sum(x29 * x32 * x36 * x37 * x42)
212
+ result[0, 9] = numpy.sum(x38 * x45)
213
+ result[0, 10] = numpy.sum(x15 * x46 * (3.0 * x0 * (x25 + x26) + x18 * x39))
214
+ result[0, 11] = numpy.sum(x23 * x4 * x40)
215
+ result[0, 12] = numpy.sum(x36 * x41 * x6)
216
+ result[0, 13] = numpy.sum(x20 * x4 * x45)
217
+ result[0, 14] = numpy.sum(x44 * x46 * (3.0 * x0 * (x34 + x35) + x22 * x43))
218
+ return result
219
+
220
+
221
+ def ovlp3d_10(ax, da, A, bx, db, B):
222
+ """Cartesian 3D (ps) overlap integral.
223
+
224
+ Generated code; DO NOT modify by hand!"""
225
+
226
+ result = numpy.zeros((3, 1), dtype=float)
227
+
228
+ x0 = (ax + bx) ** (-1.0)
229
+ x1 = ax * bx * x0
230
+ x2 = (
231
+ 5.568327996831708
232
+ * da
233
+ * db
234
+ * x0**1.5
235
+ * numpy.exp(-x1 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
236
+ )
237
+
238
+ # 3 item(s)
239
+ result[0, 0] = numpy.sum(x2 * (x0 * (ax * A[0] + bx * B[0]) - A[0]))
240
+ result[1, 0] = numpy.sum(x2 * (x0 * (ax * A[1] + bx * B[1]) - A[1]))
241
+ result[2, 0] = numpy.sum(x2 * (x0 * (ax * A[2] + bx * B[2]) - A[2]))
242
+ return result
243
+
244
+
245
+ def ovlp3d_11(ax, da, A, bx, db, B):
246
+ """Cartesian 3D (pp) overlap integral.
247
+
248
+ Generated code; DO NOT modify by hand!"""
249
+
250
+ result = numpy.zeros((3, 3), dtype=float)
251
+
252
+ x0 = (ax + bx) ** (-1.0)
253
+ x1 = 0.5 * x0
254
+ x2 = -x0 * (ax * A[0] + bx * B[0])
255
+ x3 = x2 + A[0]
256
+ x4 = x2 + B[0]
257
+ x5 = ax * bx * x0
258
+ x6 = (
259
+ 5.568327996831708
260
+ * da
261
+ * db
262
+ * x0**1.5
263
+ * numpy.exp(-x5 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
264
+ )
265
+ x7 = -x0 * (ax * A[1] + bx * B[1])
266
+ x8 = x7 + B[1]
267
+ x9 = x3 * x6
268
+ x10 = -x0 * (ax * A[2] + bx * B[2])
269
+ x11 = x10 + B[2]
270
+ x12 = x7 + A[1]
271
+ x13 = x12 * x6
272
+ x14 = x10 + A[2]
273
+ x15 = x14 * x6
274
+
275
+ # 9 item(s)
276
+ result[0, 0] = numpy.sum(x6 * (x1 + x3 * x4))
277
+ result[0, 1] = numpy.sum(x8 * x9)
278
+ result[0, 2] = numpy.sum(x11 * x9)
279
+ result[1, 0] = numpy.sum(x13 * x4)
280
+ result[1, 1] = numpy.sum(x6 * (x1 + x12 * x8))
281
+ result[1, 2] = numpy.sum(x11 * x13)
282
+ result[2, 0] = numpy.sum(x15 * x4)
283
+ result[2, 1] = numpy.sum(x15 * x8)
284
+ result[2, 2] = numpy.sum(x6 * (x1 + x11 * x14))
285
+ return result
286
+
287
+
288
+ def ovlp3d_12(ax, da, A, bx, db, B):
289
+ """Cartesian 3D (pd) overlap integral.
290
+
291
+ Generated code; DO NOT modify by hand!"""
292
+
293
+ result = numpy.zeros((3, 6), dtype=float)
294
+
295
+ x0 = (ax + bx) ** (-1.0)
296
+ x1 = x0 * (ax * A[0] + bx * B[0])
297
+ x2 = -x1
298
+ x3 = x2 + A[0]
299
+ x4 = x2 + B[0]
300
+ x5 = x3 * x4
301
+ x6 = ax * bx * x0
302
+ x7 = (
303
+ 5.568327996831708
304
+ * da
305
+ * db
306
+ * x0**1.5
307
+ * numpy.exp(-x6 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
308
+ )
309
+ x8 = 1.732050807568877 * x7
310
+ x9 = 0.1666666666666667 * x8
311
+ x10 = x0 * (ax * A[1] + bx * B[1])
312
+ x11 = -x10
313
+ x12 = x11 + B[1]
314
+ x13 = 0.5 * x0
315
+ x14 = x7 * (x13 + x5)
316
+ x15 = x0 * (ax * A[2] + bx * B[2])
317
+ x16 = -x15
318
+ x17 = x16 + B[2]
319
+ x18 = x12**2 + x13
320
+ x19 = 0.3333333333333333 * x8
321
+ x20 = x19 * x3
322
+ x21 = x17 * x7
323
+ x22 = x13 + x17**2
324
+ x23 = x13 + x4**2
325
+ x24 = x11 + A[1]
326
+ x25 = x19 * x24
327
+ x26 = x12 * x24
328
+ x27 = x7 * (x13 + x26)
329
+ x28 = x16 + A[2]
330
+ x29 = x19 * x28
331
+ x30 = x17 * x28
332
+ x31 = x7 * (x13 + x30)
333
+
334
+ # 18 item(s)
335
+ result[0, 0] = numpy.sum(
336
+ -x9 * (x0 * (-2.0 * x1 + A[0] + B[0]) + x4 * (x0 + 2.0 * x5))
337
+ )
338
+ result[0, 1] = numpy.sum(-x12 * x14)
339
+ result[0, 2] = numpy.sum(-x14 * x17)
340
+ result[0, 3] = numpy.sum(-x18 * x20)
341
+ result[0, 4] = numpy.sum(-x12 * x21 * x3)
342
+ result[0, 5] = numpy.sum(-x20 * x22)
343
+ result[1, 0] = numpy.sum(-x23 * x25)
344
+ result[1, 1] = numpy.sum(-x27 * x4)
345
+ result[1, 2] = numpy.sum(-x21 * x24 * x4)
346
+ result[1, 3] = numpy.sum(
347
+ -x9 * (x0 * (-2.0 * x10 + A[1] + B[1]) + x12 * (x0 + 2.0 * x26))
348
+ )
349
+ result[1, 4] = numpy.sum(-x17 * x27)
350
+ result[1, 5] = numpy.sum(-x22 * x25)
351
+ result[2, 0] = numpy.sum(-x23 * x29)
352
+ result[2, 1] = numpy.sum(-x12 * x28 * x4 * x7)
353
+ result[2, 2] = numpy.sum(-x31 * x4)
354
+ result[2, 3] = numpy.sum(-x18 * x29)
355
+ result[2, 4] = numpy.sum(-x12 * x31)
356
+ result[2, 5] = numpy.sum(
357
+ -x9 * (x0 * (-2.0 * x15 + A[2] + B[2]) + x17 * (x0 + 2.0 * x30))
358
+ )
359
+ return result
360
+
361
+
362
+ def ovlp3d_13(ax, da, A, bx, db, B):
363
+ """Cartesian 3D (pf) overlap integral.
364
+
365
+ Generated code; DO NOT modify by hand!"""
366
+
367
+ result = numpy.zeros((3, 10), dtype=float)
368
+
369
+ x0 = (ax + bx) ** (-1.0)
370
+ x1 = x0 * (ax * A[0] + bx * B[0])
371
+ x2 = -x1
372
+ x3 = x2 + B[0]
373
+ x4 = x3**2
374
+ x5 = 3.0 * x0
375
+ x6 = x2 + A[0]
376
+ x7 = x3 * x6
377
+ x8 = x0 * (-2.0 * x1 + A[0] + B[0]) + x3 * (x0 + 2.0 * x7)
378
+ x9 = ax * bx * x0
379
+ x10 = (
380
+ 5.568327996831708
381
+ * da
382
+ * db
383
+ * numpy.exp(-x9 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
384
+ )
385
+ x11 = x0**1.5 * x10
386
+ x12 = 3.872983346207417 * x11
387
+ x13 = 0.01666666666666667 * x12
388
+ x14 = x0 * (ax * A[1] + bx * B[1])
389
+ x15 = -x14
390
+ x16 = x15 + B[1]
391
+ x17 = x11 * x16
392
+ x18 = 1.732050807568877
393
+ x19 = 0.1666666666666667 * x18
394
+ x20 = x19 * x8
395
+ x21 = x0 * (ax * A[2] + bx * B[2])
396
+ x22 = -x21
397
+ x23 = x22 + B[2]
398
+ x24 = x11 * x23
399
+ x25 = x16**2
400
+ x26 = 0.5 * x0
401
+ x27 = 0.3333333333333333 * x18
402
+ x28 = x27 * (x25 + x26)
403
+ x29 = x26 + x7
404
+ x30 = x0**1.5 * x10
405
+ x31 = x29 * x30
406
+ x32 = x23**2
407
+ x33 = x27 * (x26 + x32)
408
+ x34 = 0.06666666666666667 * x12
409
+ x35 = x34 * x6
410
+ x36 = 1.5 * x0
411
+ x37 = x16 * (x25 + x36)
412
+ x38 = x23 * (x32 + x36)
413
+ x39 = x15 + A[1]
414
+ x40 = x34 * x39
415
+ x41 = x3 * (x36 + x4)
416
+ x42 = x16 * x39
417
+ x43 = x26 + x42
418
+ x44 = x30 * x43
419
+ x45 = x27 * (x26 + x4)
420
+ x46 = x0 * (-2.0 * x14 + A[1] + B[1]) + x16 * (x0 + 2.0 * x42)
421
+ x47 = x19 * x46
422
+ x48 = x11 * x3
423
+ x49 = x22 + A[2]
424
+ x50 = x34 * x49
425
+ x51 = x23 * x49
426
+ x52 = x26 + x51
427
+ x53 = x30 * x52
428
+ x54 = x0 * (-2.0 * x21 + A[2] + B[2]) + x23 * (x0 + 2.0 * x51)
429
+ x55 = x19 * x54
430
+
431
+ # 30 item(s)
432
+ result[0, 0] = numpy.sum(x13 * (x0 * (2.0 * x4 + x5 + 4.0 * x7) + 2.0 * x3 * x8))
433
+ result[0, 1] = numpy.sum(x17 * x20)
434
+ result[0, 2] = numpy.sum(x20 * x24)
435
+ result[0, 3] = numpy.sum(x28 * x31)
436
+ result[0, 4] = numpy.sum(x16 * x24 * x29)
437
+ result[0, 5] = numpy.sum(x31 * x33)
438
+ result[0, 6] = numpy.sum(x35 * x37)
439
+ result[0, 7] = numpy.sum(x24 * x28 * x6)
440
+ result[0, 8] = numpy.sum(x17 * x33 * x6)
441
+ result[0, 9] = numpy.sum(x35 * x38)
442
+ result[1, 0] = numpy.sum(x40 * x41)
443
+ result[1, 1] = numpy.sum(x44 * x45)
444
+ result[1, 2] = numpy.sum(x24 * x39 * x45)
445
+ result[1, 3] = numpy.sum(x47 * x48)
446
+ result[1, 4] = numpy.sum(x24 * x3 * x43)
447
+ result[1, 5] = numpy.sum(x33 * x39 * x48)
448
+ result[1, 6] = numpy.sum(x13 * (x0 * (2.0 * x25 + 4.0 * x42 + x5) + 2.0 * x16 * x46))
449
+ result[1, 7] = numpy.sum(x24 * x47)
450
+ result[1, 8] = numpy.sum(x33 * x44)
451
+ result[1, 9] = numpy.sum(x38 * x40)
452
+ result[2, 0] = numpy.sum(x41 * x50)
453
+ result[2, 1] = numpy.sum(x17 * x45 * x49)
454
+ result[2, 2] = numpy.sum(x45 * x53)
455
+ result[2, 3] = numpy.sum(x28 * x48 * x49)
456
+ result[2, 4] = numpy.sum(x17 * x3 * x52)
457
+ result[2, 5] = numpy.sum(x48 * x55)
458
+ result[2, 6] = numpy.sum(x37 * x50)
459
+ result[2, 7] = numpy.sum(x28 * x53)
460
+ result[2, 8] = numpy.sum(x17 * x55)
461
+ result[2, 9] = numpy.sum(x13 * (x0 * (2.0 * x32 + x5 + 4.0 * x51) + 2.0 * x23 * x54))
462
+ return result
463
+
464
+
465
+ def ovlp3d_14(ax, da, A, bx, db, B):
466
+ """Cartesian 3D (pg) overlap integral.
467
+
468
+ Generated code; DO NOT modify by hand!"""
469
+
470
+ result = numpy.zeros((3, 15), dtype=float)
471
+
472
+ x0 = 0.5 / (ax + bx)
473
+ x1 = (ax + bx) ** (-1.0)
474
+ x2 = -x1 * (ax * A[0] + bx * B[0])
475
+ x3 = -x2 - A[0]
476
+ x4 = ax * bx * x1
477
+ x5 = numpy.exp(-x4 * (A[0] - B[0]) ** 2)
478
+ x6 = 1.772453850905516 * numpy.sqrt(x1)
479
+ x7 = x5 * x6
480
+ x8 = x3 * x7
481
+ x9 = -x2 - B[0]
482
+ x10 = x7 * x9
483
+ x11 = x0 * (x10 + x8)
484
+ x12 = x0 * x7
485
+ x13 = x8 * x9
486
+ x14 = x12 + x13
487
+ x15 = x14 * x9
488
+ x16 = x7 * x9**2
489
+ x17 = x12 + x16
490
+ x18 = x9 * (2.0 * x12 + x17)
491
+ x19 = 3.0 * x12
492
+ x20 = x11 + x15
493
+ x21 = x0 * (2.0 * x13 + x16 + x19) + x20 * x9
494
+ x22 = numpy.exp(-x4 * (A[1] - B[1]) ** 2)
495
+ x23 = da * db
496
+ x24 = numpy.exp(-x4 * (A[2] - B[2]) ** 2)
497
+ x25 = 3.141592653589793 * x1 * x24
498
+ x26 = x23 * x25
499
+ x27 = x22 * x26
500
+ x28 = 0.09759000729485332
501
+ x29 = x27 * x28
502
+ x30 = -x1 * (ax * A[1] + bx * B[1])
503
+ x31 = -x30 - B[1]
504
+ x32 = 0.2581988897471611
505
+ x33 = x27 * x32
506
+ x34 = x21 * x33
507
+ x35 = -x1 * (ax * A[2] + bx * B[2])
508
+ x36 = -x35 - B[2]
509
+ x37 = x22 * x6
510
+ x38 = x31**2 * x37
511
+ x39 = x0 * x37
512
+ x40 = x38 + x39
513
+ x41 = x24 * x6
514
+ x42 = 0.3333333333333333 * x23
515
+ x43 = x20 * x42
516
+ x44 = 1.732050807568877
517
+ x45 = x31 * x44
518
+ x46 = x25 * x36
519
+ x47 = x36**2 * x41
520
+ x48 = x0 * x41
521
+ x49 = x47 + x48
522
+ x50 = x31 * (2.0 * x39 + x40)
523
+ x51 = x23 * x32
524
+ x52 = x14 * x51
525
+ x53 = x36 * x41
526
+ x54 = x40 * x42
527
+ x55 = x14 * x44
528
+ x56 = x31 * x37
529
+ x57 = x42 * x49
530
+ x58 = x36 * (2.0 * x48 + x49)
531
+ x59 = 3.0 * x39
532
+ x60 = x28 * x5
533
+ x61 = x26 * x60
534
+ x62 = x61 * (x0 * (3.0 * x38 + x59) + x31 * x50)
535
+ x63 = x36 * x5
536
+ x64 = x26 * x32
537
+ x65 = x50 * x64
538
+ x66 = x31 * x5
539
+ x67 = 3.141592653589793 * x1 * x22
540
+ x68 = x51 * x67
541
+ x69 = x58 * x68
542
+ x70 = 3.0 * x48
543
+ x71 = x23 * x60 * x67
544
+ x72 = x71 * (x0 * (3.0 * x47 + x70) + x36 * x58)
545
+ x73 = -x30 - A[1]
546
+ x74 = x29 * (x0 * (3.0 * x16 + x19) + x18 * x9)
547
+ x75 = x37 * x73
548
+ x76 = x31 * x75
549
+ x77 = x39 + x76
550
+ x78 = x51 * x77
551
+ x79 = x18 * x33
552
+ x80 = x0 * (x56 + x75)
553
+ x81 = x31 * x77
554
+ x82 = x80 + x81
555
+ x83 = x42 * x82
556
+ x84 = x44 * x77
557
+ x85 = x17 * x42
558
+ x86 = x5 * x9
559
+ x87 = x0 * (x38 + x59 + 2.0 * x76) + x31 * x82
560
+ x88 = x64 * x87
561
+ x89 = -x35 - A[2]
562
+ x90 = x41 * x89
563
+ x91 = x36 * x90
564
+ x92 = x48 + x91
565
+ x93 = x51 * x92
566
+ x94 = x44 * x92
567
+ x95 = x0 * (x53 + x90)
568
+ x96 = x36 * x92
569
+ x97 = x95 + x96
570
+ x98 = x42 * x97
571
+ x99 = x0 * (x47 + x70 + 2.0 * x91) + x36 * x97
572
+ x100 = x68 * x99
573
+
574
+ # 45 item(s)
575
+ result[0, 0] = numpy.sum(x29 * (x0 * (3.0 * x11 + 3.0 * x15 + x18) + x21 * x9))
576
+ result[0, 1] = numpy.sum(x31 * x34)
577
+ result[0, 2] = numpy.sum(x34 * x36)
578
+ result[0, 3] = numpy.sum(x40 * x41 * x43)
579
+ result[0, 4] = numpy.sum(x22 * x43 * x45 * x46)
580
+ result[0, 5] = numpy.sum(x37 * x43 * x49)
581
+ result[0, 6] = numpy.sum(x41 * x50 * x52)
582
+ result[0, 7] = numpy.sum(x53 * x54 * x55)
583
+ result[0, 8] = numpy.sum(x55 * x56 * x57)
584
+ result[0, 9] = numpy.sum(x37 * x52 * x58)
585
+ result[0, 10] = numpy.sum(x3 * x62)
586
+ result[0, 11] = numpy.sum(x3 * x63 * x65)
587
+ result[0, 12] = numpy.sum(x40 * x57 * x8)
588
+ result[0, 13] = numpy.sum(x3 * x66 * x69)
589
+ result[0, 14] = numpy.sum(x3 * x72)
590
+ result[1, 0] = numpy.sum(x73 * x74)
591
+ result[1, 1] = numpy.sum(x18 * x41 * x78)
592
+ result[1, 2] = numpy.sum(x36 * x73 * x79)
593
+ result[1, 3] = numpy.sum(x17 * x41 * x83)
594
+ result[1, 4] = numpy.sum(x53 * x84 * x85)
595
+ result[1, 5] = numpy.sum(x17 * x57 * x75)
596
+ result[1, 6] = numpy.sum(x86 * x88)
597
+ result[1, 7] = numpy.sum(x44 * x46 * x83 * x86)
598
+ result[1, 8] = numpy.sum(x10 * x57 * x84)
599
+ result[1, 9] = numpy.sum(x69 * x73 * x86)
600
+ result[1, 10] = numpy.sum(x61 * (x0 * (x50 + 3.0 * x80 + 3.0 * x81) + x31 * x87))
601
+ result[1, 11] = numpy.sum(x63 * x88)
602
+ result[1, 12] = numpy.sum(x49 * x7 * x83)
603
+ result[1, 13] = numpy.sum(x58 * x7 * x78)
604
+ result[1, 14] = numpy.sum(x72 * x73)
605
+ result[2, 0] = numpy.sum(x74 * x89)
606
+ result[2, 1] = numpy.sum(x31 * x79 * x89)
607
+ result[2, 2] = numpy.sum(x18 * x37 * x93)
608
+ result[2, 3] = numpy.sum(x17 * x54 * x90)
609
+ result[2, 4] = numpy.sum(x56 * x85 * x94)
610
+ result[2, 5] = numpy.sum(x17 * x37 * x98)
611
+ result[2, 6] = numpy.sum(x65 * x86 * x89)
612
+ result[2, 7] = numpy.sum(x10 * x54 * x94)
613
+ result[2, 8] = numpy.sum(x45 * x67 * x86 * x98)
614
+ result[2, 9] = numpy.sum(x100 * x86)
615
+ result[2, 10] = numpy.sum(x62 * x89)
616
+ result[2, 11] = numpy.sum(x50 * x7 * x93)
617
+ result[2, 12] = numpy.sum(x40 * x7 * x98)
618
+ result[2, 13] = numpy.sum(x100 * x66)
619
+ result[2, 14] = numpy.sum(x71 * (x0 * (x58 + 3.0 * x95 + 3.0 * x96) + x36 * x99))
620
+ return result
621
+
622
+
623
+ def ovlp3d_20(ax, da, A, bx, db, B):
624
+ """Cartesian 3D (ds) overlap integral.
625
+
626
+ Generated code; DO NOT modify by hand!"""
627
+
628
+ result = numpy.zeros((6, 1), dtype=float)
629
+
630
+ x0 = (ax + bx) ** (-1.0)
631
+ x1 = -x0 * (ax * A[0] + bx * B[0]) + A[0]
632
+ x2 = 0.5 * x0
633
+ x3 = ax * bx * x0
634
+ x4 = (
635
+ 5.568327996831708
636
+ * da
637
+ * db
638
+ * x0**1.5
639
+ * numpy.exp(-x3 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
640
+ )
641
+ x5 = 0.5773502691896258 * x4
642
+ x6 = -x0 * (ax * A[1] + bx * B[1]) + A[1]
643
+ x7 = x1 * x4
644
+ x8 = -x0 * (ax * A[2] + bx * B[2]) + A[2]
645
+
646
+ # 6 item(s)
647
+ result[0, 0] = numpy.sum(x5 * (x1**2 + x2))
648
+ result[1, 0] = numpy.sum(x6 * x7)
649
+ result[2, 0] = numpy.sum(x7 * x8)
650
+ result[3, 0] = numpy.sum(x5 * (x2 + x6**2))
651
+ result[4, 0] = numpy.sum(x4 * x6 * x8)
652
+ result[5, 0] = numpy.sum(x5 * (x2 + x8**2))
653
+ return result
654
+
655
+
656
+ def ovlp3d_21(ax, da, A, bx, db, B):
657
+ """Cartesian 3D (dp) overlap integral.
658
+
659
+ Generated code; DO NOT modify by hand!"""
660
+
661
+ result = numpy.zeros((6, 3), dtype=float)
662
+
663
+ x0 = (ax + bx) ** (-1.0)
664
+ x1 = x0 * (ax * A[0] + bx * B[0])
665
+ x2 = -x1
666
+ x3 = x2 + A[0]
667
+ x4 = x2 + B[0]
668
+ x5 = x3 * x4
669
+ x6 = ax * bx * x0
670
+ x7 = (
671
+ 5.568327996831708
672
+ * da
673
+ * db
674
+ * x0**1.5
675
+ * numpy.exp(-x6 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
676
+ )
677
+ x8 = 1.732050807568877 * x7
678
+ x9 = 0.1666666666666667 * x8
679
+ x10 = x0 * (ax * A[1] + bx * B[1])
680
+ x11 = -x10
681
+ x12 = x11 + B[1]
682
+ x13 = 0.5 * x0
683
+ x14 = 0.3333333333333333 * x8
684
+ x15 = x14 * (x13 + x3**2)
685
+ x16 = x0 * (ax * A[2] + bx * B[2])
686
+ x17 = -x16
687
+ x18 = x17 + B[2]
688
+ x19 = x11 + A[1]
689
+ x20 = x7 * (x13 + x5)
690
+ x21 = x12 * x19
691
+ x22 = x13 + x21
692
+ x23 = x3 * x7
693
+ x24 = x17 + A[2]
694
+ x25 = x18 * x24
695
+ x26 = x13 + x25
696
+ x27 = x14 * (x13 + x19**2)
697
+ x28 = x24 * x7
698
+ x29 = x14 * (x13 + x24**2)
699
+
700
+ # 18 item(s)
701
+ result[0, 0] = numpy.sum(
702
+ -x9 * (x0 * (-2.0 * x1 + A[0] + B[0]) + x3 * (x0 + 2.0 * x5))
703
+ )
704
+ result[0, 1] = numpy.sum(-x12 * x15)
705
+ result[0, 2] = numpy.sum(-x15 * x18)
706
+ result[1, 0] = numpy.sum(-x19 * x20)
707
+ result[1, 1] = numpy.sum(-x22 * x23)
708
+ result[1, 2] = numpy.sum(-x18 * x19 * x23)
709
+ result[2, 0] = numpy.sum(-x20 * x24)
710
+ result[2, 1] = numpy.sum(-x12 * x23 * x24)
711
+ result[2, 2] = numpy.sum(-x23 * x26)
712
+ result[3, 0] = numpy.sum(-x27 * x4)
713
+ result[3, 1] = numpy.sum(
714
+ -x9 * (x0 * (-2.0 * x10 + A[1] + B[1]) + x19 * (x0 + 2.0 * x21))
715
+ )
716
+ result[3, 2] = numpy.sum(-x18 * x27)
717
+ result[4, 0] = numpy.sum(-x19 * x28 * x4)
718
+ result[4, 1] = numpy.sum(-x22 * x28)
719
+ result[4, 2] = numpy.sum(-x19 * x26 * x7)
720
+ result[5, 0] = numpy.sum(-x29 * x4)
721
+ result[5, 1] = numpy.sum(-x12 * x29)
722
+ result[5, 2] = numpy.sum(
723
+ -x9 * (x0 * (-2.0 * x16 + A[2] + B[2]) + x24 * (x0 + 2.0 * x25))
724
+ )
725
+ return result
726
+
727
+
728
+ def ovlp3d_22(ax, da, A, bx, db, B):
729
+ """Cartesian 3D (dd) overlap integral.
730
+
731
+ Generated code; DO NOT modify by hand!"""
732
+
733
+ result = numpy.zeros((6, 6), dtype=float)
734
+
735
+ x0 = (ax + bx) ** (-1.0)
736
+ x1 = x0 * (ax * A[0] + bx * B[0])
737
+ x2 = -x1
738
+ x3 = x2 + B[0]
739
+ x4 = x3**2
740
+ x5 = 3.0 * x0
741
+ x6 = x2 + A[0]
742
+ x7 = x3 * x6
743
+ x8 = x0 * (-2.0 * x1 + A[0] + B[0])
744
+ x9 = x0 + 2.0 * x7
745
+ x10 = x3 * x9 + x8
746
+ x11 = ax * bx * x0
747
+ x12 = (
748
+ 5.568327996831708
749
+ * da
750
+ * db
751
+ * numpy.exp(-x11 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
752
+ )
753
+ x13 = x0**1.5 * x12
754
+ x14 = 0.08333333333333333 * x13
755
+ x15 = x0 * (ax * A[1] + bx * B[1])
756
+ x16 = -x15
757
+ x17 = x16 + B[1]
758
+ x18 = x13 * x17
759
+ x19 = 1.732050807568877
760
+ x20 = 0.1666666666666667 * x19
761
+ x21 = x20 * (x6 * x9 + x8)
762
+ x22 = x0 * (ax * A[2] + bx * B[2])
763
+ x23 = -x22
764
+ x24 = x23 + B[2]
765
+ x25 = x13 * x24
766
+ x26 = x17**2
767
+ x27 = 0.5 * x0
768
+ x28 = x26 + x27
769
+ x29 = x27 + x6**2
770
+ x30 = x0**1.5 * x12
771
+ x31 = 0.3333333333333333 * x30
772
+ x32 = x29 * x31
773
+ x33 = 0.3333333333333333 * x19
774
+ x34 = x25 * x33
775
+ x35 = x24**2
776
+ x36 = x27 + x35
777
+ x37 = x16 + A[1]
778
+ x38 = x13 * x20
779
+ x39 = x10 * x38
780
+ x40 = x17 * x37
781
+ x41 = x27 + x40
782
+ x42 = x27 + x7
783
+ x43 = x30 * x42
784
+ x44 = x0 * (-2.0 * x15 + A[1] + B[1])
785
+ x45 = x0 + 2.0 * x40
786
+ x46 = x17 * x45 + x44
787
+ x47 = x38 * x6
788
+ x48 = x13 * x33 * x6
789
+ x49 = x23 + A[2]
790
+ x50 = x24 * x49
791
+ x51 = x27 + x50
792
+ x52 = x0 * (-2.0 * x22 + A[2] + B[2])
793
+ x53 = x0 + 2.0 * x50
794
+ x54 = x24 * x53 + x52
795
+ x55 = x27 + x4
796
+ x56 = x27 + x37**2
797
+ x57 = x31 * x56
798
+ x58 = x13 * x3
799
+ x59 = x20 * (x37 * x45 + x44)
800
+ x60 = x27 + x49**2
801
+ x61 = x31 * x60
802
+ x62 = x20 * (x49 * x53 + x52)
803
+
804
+ # 36 item(s)
805
+ result[0, 0] = numpy.sum(x14 * (x0 * (2.0 * x4 + x5 + 4.0 * x7) + 2.0 * x10 * x6))
806
+ result[0, 1] = numpy.sum(x18 * x21)
807
+ result[0, 2] = numpy.sum(x21 * x25)
808
+ result[0, 3] = numpy.sum(x28 * x32)
809
+ result[0, 4] = numpy.sum(x17 * x29 * x34)
810
+ result[0, 5] = numpy.sum(x32 * x36)
811
+ result[1, 0] = numpy.sum(x37 * x39)
812
+ result[1, 1] = numpy.sum(x41 * x43)
813
+ result[1, 2] = numpy.sum(x25 * x37 * x42)
814
+ result[1, 3] = numpy.sum(x46 * x47)
815
+ result[1, 4] = numpy.sum(x25 * x41 * x6)
816
+ result[1, 5] = numpy.sum(x36 * x37 * x48)
817
+ result[2, 0] = numpy.sum(x39 * x49)
818
+ result[2, 1] = numpy.sum(x18 * x42 * x49)
819
+ result[2, 2] = numpy.sum(x43 * x51)
820
+ result[2, 3] = numpy.sum(x28 * x48 * x49)
821
+ result[2, 4] = numpy.sum(x18 * x51 * x6)
822
+ result[2, 5] = numpy.sum(x47 * x54)
823
+ result[3, 0] = numpy.sum(x55 * x57)
824
+ result[3, 1] = numpy.sum(x58 * x59)
825
+ result[3, 2] = numpy.sum(x3 * x34 * x56)
826
+ result[3, 3] = numpy.sum(x14 * (x0 * (2.0 * x26 + 4.0 * x40 + x5) + 2.0 * x37 * x46))
827
+ result[3, 4] = numpy.sum(x25 * x59)
828
+ result[3, 5] = numpy.sum(x36 * x57)
829
+ result[4, 0] = numpy.sum(x13 * x33 * x37 * x49 * x55)
830
+ result[4, 1] = numpy.sum(x41 * x49 * x58)
831
+ result[4, 2] = numpy.sum(x37 * x51 * x58)
832
+ result[4, 3] = numpy.sum(x38 * x46 * x49)
833
+ result[4, 4] = numpy.sum(x30 * x41 * x51)
834
+ result[4, 5] = numpy.sum(x37 * x38 * x54)
835
+ result[5, 0] = numpy.sum(x55 * x61)
836
+ result[5, 1] = numpy.sum(x18 * x3 * x33 * x60)
837
+ result[5, 2] = numpy.sum(x58 * x62)
838
+ result[5, 3] = numpy.sum(x28 * x61)
839
+ result[5, 4] = numpy.sum(x18 * x62)
840
+ result[5, 5] = numpy.sum(x14 * (x0 * (2.0 * x35 + x5 + 4.0 * x50) + 2.0 * x49 * x54))
841
+ return result
842
+
843
+
844
+ def ovlp3d_23(ax, da, A, bx, db, B):
845
+ """Cartesian 3D (df) overlap integral.
846
+
847
+ Generated code; DO NOT modify by hand!"""
848
+
849
+ result = numpy.zeros((6, 10), dtype=float)
850
+
851
+ x0 = (ax + bx) ** (-1.0)
852
+ x1 = x0 * (ax * A[0] + bx * B[0])
853
+ x2 = -x1
854
+ x3 = x2 + B[0]
855
+ x4 = x3**2
856
+ x5 = 3.0 * x0
857
+ x6 = x2 + A[0]
858
+ x7 = x3 * x6
859
+ x8 = x0 * (2.0 * x4 + x5 + 4.0 * x7)
860
+ x9 = x0 * (-2.0 * x1 + A[0] + B[0])
861
+ x10 = x0 + 2.0 * x7
862
+ x11 = x10 * x3
863
+ x12 = x11 + x9
864
+ x13 = 2.0 * x12
865
+ x14 = x13 * x6 + x8
866
+ x15 = x10 * x6
867
+ x16 = 2.0 * x0
868
+ x17 = 2.23606797749979
869
+ x18 = ax * bx * x0
870
+ x19 = (
871
+ 5.568327996831708
872
+ * da
873
+ * db
874
+ * numpy.exp(-x18 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
875
+ )
876
+ x20 = x0**1.5 * x19
877
+ x21 = 0.01666666666666667 * x20
878
+ x22 = x17 * x21
879
+ x23 = x0 * (ax * A[1] + bx * B[1])
880
+ x24 = -x23
881
+ x25 = x24 + B[1]
882
+ x26 = 0.08333333333333333 * x20
883
+ x27 = x14 * x26
884
+ x28 = x0 * (ax * A[2] + bx * B[2])
885
+ x29 = -x28
886
+ x30 = x29 + B[2]
887
+ x31 = x25**2
888
+ x32 = 0.5 * x0
889
+ x33 = x31 + x32
890
+ x34 = x15 + x9
891
+ x35 = x0**1.5 * x19
892
+ x36 = 0.1666666666666667 * x35
893
+ x37 = x34 * x36
894
+ x38 = 1.732050807568877
895
+ x39 = 0.1666666666666667 * x20 * x38
896
+ x40 = x30 * x39
897
+ x41 = x30**2
898
+ x42 = x32 + x41
899
+ x43 = 1.5 * x0
900
+ x44 = x31 + x43
901
+ x45 = x25 * x44
902
+ x46 = x32 + x6**2
903
+ x47 = 0.06666666666666667 * x17
904
+ x48 = x35 * x47
905
+ x49 = x46 * x48
906
+ x50 = 0.3333333333333333 * x35
907
+ x51 = x46 * x50
908
+ x52 = x41 + x43
909
+ x53 = x30 * x52
910
+ x54 = x24 + A[1]
911
+ x55 = 3.872983346207417
912
+ x56 = x21 * x55
913
+ x57 = x56 * (x13 * x3 + x8)
914
+ x58 = x25 * x54
915
+ x59 = x32 + x58
916
+ x60 = x36 * x38
917
+ x61 = x12 * x60
918
+ x62 = x0 * (-2.0 * x23 + A[1] + B[1])
919
+ x63 = x0 + 2.0 * x58
920
+ x64 = x25 * x63
921
+ x65 = x62 + x64
922
+ x66 = x32 + x7
923
+ x67 = x60 * x66
924
+ x68 = x35 * x66
925
+ x69 = x38 * x42
926
+ x70 = 0.3333333333333333 * x68
927
+ x71 = x0 * (2.0 * x31 + x5 + 4.0 * x58)
928
+ x72 = 2.0 * x65
929
+ x73 = x25 * x72 + x71
930
+ x74 = x56 * x6
931
+ x75 = x50 * x6
932
+ x76 = 0.06666666666666667 * x20 * x55 * x6
933
+ x77 = x29 + A[2]
934
+ x78 = x25 * x39
935
+ x79 = x30 * x77
936
+ x80 = x32 + x79
937
+ x81 = x33 * x38
938
+ x82 = x0 * (-2.0 * x28 + A[2] + B[2])
939
+ x83 = x0 + 2.0 * x79
940
+ x84 = x30 * x83
941
+ x85 = x82 + x84
942
+ x86 = x0 * (2.0 * x41 + x5 + 4.0 * x79)
943
+ x87 = 2.0 * x85
944
+ x88 = x30 * x87 + x86
945
+ x89 = x32 + x54**2
946
+ x90 = x4 + x43
947
+ x91 = x3 * x35
948
+ x92 = x47 * x90 * x91
949
+ x93 = x32 + x4
950
+ x94 = x54 * x63
951
+ x95 = x62 + x94
952
+ x96 = x36 * x95
953
+ x97 = x50 * x93
954
+ x98 = x30 * x89
955
+ x99 = x54 * x72 + x71
956
+ x100 = x26 * x99
957
+ x101 = 0.3333333333333333 * x91
958
+ x102 = x38 * x97
959
+ x103 = x3 * x39
960
+ x104 = x32 + x77**2
961
+ x105 = x104 * x25
962
+ x106 = x77 * x83
963
+ x107 = x106 + x82
964
+ x108 = x107 * x36
965
+ x109 = x77 * x87 + x86
966
+ x110 = x109 * x26
967
+
968
+ # 60 item(s)
969
+ result[0, 0] = numpy.sum(-x22 * (x14 * x3 + x16 * (x11 + x15 + 2.0 * x9)))
970
+ result[0, 1] = numpy.sum(-x25 * x27)
971
+ result[0, 2] = numpy.sum(-x27 * x30)
972
+ result[0, 3] = numpy.sum(-x33 * x37)
973
+ result[0, 4] = numpy.sum(-x25 * x34 * x40)
974
+ result[0, 5] = numpy.sum(-x37 * x42)
975
+ result[0, 6] = numpy.sum(-x45 * x49)
976
+ result[0, 7] = numpy.sum(-x30 * x33 * x51)
977
+ result[0, 8] = numpy.sum(-x25 * x42 * x51)
978
+ result[0, 9] = numpy.sum(-x49 * x53)
979
+ result[1, 0] = numpy.sum(-x54 * x57)
980
+ result[1, 1] = numpy.sum(-x59 * x61)
981
+ result[1, 2] = numpy.sum(-x12 * x40 * x54)
982
+ result[1, 3] = numpy.sum(-x65 * x67)
983
+ result[1, 4] = numpy.sum(-x30 * x59 * x68)
984
+ result[1, 5] = numpy.sum(-x54 * x69 * x70)
985
+ result[1, 6] = numpy.sum(-x73 * x74)
986
+ result[1, 7] = numpy.sum(-x40 * x6 * x65)
987
+ result[1, 8] = numpy.sum(-x59 * x69 * x75)
988
+ result[1, 9] = numpy.sum(-x53 * x54 * x76)
989
+ result[2, 0] = numpy.sum(-x57 * x77)
990
+ result[2, 1] = numpy.sum(-x12 * x77 * x78)
991
+ result[2, 2] = numpy.sum(-x61 * x80)
992
+ result[2, 3] = numpy.sum(-x70 * x77 * x81)
993
+ result[2, 4] = numpy.sum(-x25 * x68 * x80)
994
+ result[2, 5] = numpy.sum(-x67 * x85)
995
+ result[2, 6] = numpy.sum(-x45 * x76 * x77)
996
+ result[2, 7] = numpy.sum(-x75 * x80 * x81)
997
+ result[2, 8] = numpy.sum(-x6 * x78 * x85)
998
+ result[2, 9] = numpy.sum(-x74 * x88)
999
+ result[3, 0] = numpy.sum(-x89 * x92)
1000
+ result[3, 1] = numpy.sum(-x93 * x96)
1001
+ result[3, 2] = numpy.sum(-x97 * x98)
1002
+ result[3, 3] = numpy.sum(-x100 * x3)
1003
+ result[3, 4] = numpy.sum(-x3 * x40 * x95)
1004
+ result[3, 5] = numpy.sum(-x101 * x42 * x89)
1005
+ result[3, 6] = numpy.sum(-x22 * (x16 * (2.0 * x62 + x64 + x94) + x25 * x99))
1006
+ result[3, 7] = numpy.sum(-x100 * x30)
1007
+ result[3, 8] = numpy.sum(-x42 * x96)
1008
+ result[3, 9] = numpy.sum(-x48 * x52 * x98)
1009
+ result[4, 0] = numpy.sum(-0.06666666666666667 * x20 * x3 * x54 * x55 * x77 * x90)
1010
+ result[4, 1] = numpy.sum(-x102 * x59 * x77)
1011
+ result[4, 2] = numpy.sum(-x102 * x54 * x80)
1012
+ result[4, 3] = numpy.sum(-x103 * x65 * x77)
1013
+ result[4, 4] = numpy.sum(-x59 * x80 * x91)
1014
+ result[4, 5] = numpy.sum(-x103 * x54 * x85)
1015
+ result[4, 6] = numpy.sum(-x56 * x73 * x77)
1016
+ result[4, 7] = numpy.sum(-x60 * x65 * x80)
1017
+ result[4, 8] = numpy.sum(-x59 * x60 * x85)
1018
+ result[4, 9] = numpy.sum(-x54 * x56 * x88)
1019
+ result[5, 0] = numpy.sum(-x104 * x92)
1020
+ result[5, 1] = numpy.sum(-x105 * x97)
1021
+ result[5, 2] = numpy.sum(-x108 * x93)
1022
+ result[5, 3] = numpy.sum(-x101 * x104 * x33)
1023
+ result[5, 4] = numpy.sum(-x107 * x3 * x78)
1024
+ result[5, 5] = numpy.sum(-x110 * x3)
1025
+ result[5, 6] = numpy.sum(-x105 * x44 * x48)
1026
+ result[5, 7] = numpy.sum(-x108 * x33)
1027
+ result[5, 8] = numpy.sum(-x110 * x25)
1028
+ result[5, 9] = numpy.sum(-x22 * (x109 * x30 + x16 * (x106 + 2.0 * x82 + x84)))
1029
+ return result
1030
+
1031
+
1032
+ def ovlp3d_24(ax, da, A, bx, db, B):
1033
+ """Cartesian 3D (dg) overlap integral.
1034
+
1035
+ Generated code; DO NOT modify by hand!"""
1036
+
1037
+ result = numpy.zeros((6, 15), dtype=float)
1038
+
1039
+ x0 = 0.5 / (ax + bx)
1040
+ x1 = (ax + bx) ** (-1.0)
1041
+ x2 = -x1 * (ax * A[0] + bx * B[0])
1042
+ x3 = -x2 - B[0]
1043
+ x4 = 1.772453850905516 * numpy.sqrt(x1)
1044
+ x5 = -x2 - A[0]
1045
+ x6 = ax * bx * x1
1046
+ x7 = numpy.exp(-x6 * (A[0] - B[0]) ** 2)
1047
+ x8 = x5 * x7
1048
+ x9 = x4 * x8
1049
+ x10 = x4 * x7
1050
+ x11 = x10 * x3
1051
+ x12 = x0 * (x11 + x9)
1052
+ x13 = x0 * x10
1053
+ x14 = x3 * x9
1054
+ x15 = x13 + x14
1055
+ x16 = x15 * x3
1056
+ x17 = x12 + x16
1057
+ x18 = x17 * x3
1058
+ x19 = x17 * x5
1059
+ x20 = x10 * x3**2
1060
+ x21 = 3.0 * x13
1061
+ x22 = x0 * (2.0 * x14 + x20 + x21)
1062
+ x23 = x15 * x5
1063
+ x24 = x19 + x22
1064
+ x25 = 2.0 * x0 * (2.0 * x12 + x16 + x23) + x24 * x3
1065
+ x26 = da * db
1066
+ x27 = 0.0563436169819011
1067
+ x28 = x26 * x27
1068
+ x29 = numpy.exp(-x6 * (A[1] - B[1]) ** 2)
1069
+ x30 = numpy.exp(-x6 * (A[2] - B[2]) ** 2)
1070
+ x31 = 3.141592653589793 * x1 * x30
1071
+ x32 = x29 * x31
1072
+ x33 = -x1 * (ax * A[1] + bx * B[1])
1073
+ x34 = -x33 - B[1]
1074
+ x35 = x32 * x34
1075
+ x36 = 2.23606797749979
1076
+ x37 = 0.06666666666666667 * x26
1077
+ x38 = x36 * x37
1078
+ x39 = x25 * x38
1079
+ x40 = -x1 * (ax * A[2] + bx * B[2])
1080
+ x41 = -x40 - B[2]
1081
+ x42 = x32 * x41
1082
+ x43 = x30 * x4
1083
+ x44 = x29 * x4
1084
+ x45 = x34**2 * x44
1085
+ x46 = x0 * x44
1086
+ x47 = x45 + x46
1087
+ x48 = 1.732050807568877 * x26
1088
+ x49 = 0.1111111111111111 * x47 * x48
1089
+ x50 = 0.3333333333333333 * x26
1090
+ x51 = x41 * x50
1091
+ x52 = x41**2 * x43
1092
+ x53 = x0 * x43
1093
+ x54 = x52 + x53
1094
+ x55 = x48 * x54
1095
+ x56 = 0.1111111111111111 * x55
1096
+ x57 = x34 * (2.0 * x46 + x47)
1097
+ x58 = x26 * x43
1098
+ x59 = 0.06666666666666667 * x58
1099
+ x60 = x12 + x23
1100
+ x61 = x36 * x60
1101
+ x62 = x41 * x43
1102
+ x63 = x26 * x47
1103
+ x64 = 0.3333333333333333 * x60
1104
+ x65 = x34 * x44
1105
+ x66 = x26 * x54
1106
+ x67 = x41 * (2.0 * x53 + x54)
1107
+ x68 = x37 * x44
1108
+ x69 = x10 * x5**2 + x13
1109
+ x70 = 3.0 * x46
1110
+ x71 = x0 * (3.0 * x45 + x70) + x34 * x57
1111
+ x72 = x27 * x58
1112
+ x73 = x38 * x69
1113
+ x74 = 3.0 * x53
1114
+ x75 = x0 * (3.0 * x52 + x74) + x41 * x67
1115
+ x76 = x28 * x75
1116
+ x77 = -x33 - A[1]
1117
+ x78 = 0.09759000729485332 * x26
1118
+ x79 = x77 * x78
1119
+ x80 = x13 + x20
1120
+ x81 = 2.0 * x0 * x11 + x3 * x80
1121
+ x82 = x18 + x22
1122
+ x83 = x32 * (x0 * (3.0 * x12 + 3.0 * x16 + x81) + x3 * x82)
1123
+ x84 = x44 * x77
1124
+ x85 = x34 * x84
1125
+ x86 = x46 + x85
1126
+ x87 = 3.872983346207417
1127
+ x88 = x59 * x87
1128
+ x89 = x37 * x87
1129
+ x90 = x82 * x89
1130
+ x91 = x0 * (x65 + x84)
1131
+ x92 = x34 * x86
1132
+ x93 = x91 + x92
1133
+ x94 = 0.3333333333333333 * x17
1134
+ x95 = x48 * x62
1135
+ x96 = x0 * (x45 + x70 + 2.0 * x85)
1136
+ x97 = x34 * x93
1137
+ x98 = x96 + x97
1138
+ x99 = 0.3333333333333333 * x15
1139
+ x100 = x67 * x89
1140
+ x101 = x78 * x8
1141
+ x102 = x31 * (x0 * (x57 + 3.0 * x91 + 3.0 * x92) + x34 * x98)
1142
+ x103 = x31 * x41
1143
+ x104 = x8 * x89
1144
+ x105 = 0.3333333333333333 * x93
1145
+ x106 = 3.141592653589793 * x1 * x29
1146
+ x107 = -x40 - A[2]
1147
+ x108 = x107 * x78
1148
+ x109 = x107 * x43
1149
+ x110 = x109 * x41
1150
+ x111 = x110 + x53
1151
+ x112 = x68 * x87
1152
+ x113 = x111 * x48
1153
+ x114 = x0 * (x109 + x62)
1154
+ x115 = x111 * x41
1155
+ x116 = x114 + x115
1156
+ x117 = x116 * x26
1157
+ x118 = x57 * x89
1158
+ x119 = x116 * x48
1159
+ x120 = x0 * (2.0 * x110 + x52 + x74)
1160
+ x121 = x116 * x41
1161
+ x122 = x120 + x121
1162
+ x123 = x106 * x34
1163
+ x124 = x106 * (x0 * (3.0 * x114 + 3.0 * x115 + x67) + x122 * x41)
1164
+ x125 = x44 * x77**2 + x46
1165
+ x126 = x0 * (3.0 * x20 + x21) + x3 * x81
1166
+ x127 = x77 * x86
1167
+ x128 = x127 + x91
1168
+ x129 = x128 * x36
1169
+ x130 = x125 * x38
1170
+ x131 = x77 * x93
1171
+ x132 = x131 + x96
1172
+ x133 = 0.1111111111111111 * x48 * x80
1173
+ x134 = 0.3333333333333333 * x80
1174
+ x135 = x134 * x26
1175
+ x136 = x3 * x7
1176
+ x137 = x136 * x31
1177
+ x138 = 2.0 * x0 * (x127 + 2.0 * x91 + x92) + x132 * x34
1178
+ x139 = x138 * x38
1179
+ x140 = 0.3333333333333333 * x11
1180
+ x141 = x28 * x7
1181
+ x142 = x10 * x37
1182
+ x143 = x81 * x89
1183
+ x144 = x106 * x136
1184
+ x145 = x142 * x87
1185
+ x146 = x107**2 * x43 + x53
1186
+ x147 = x146 * x28
1187
+ x148 = x146 * x38
1188
+ x149 = x107 * x111
1189
+ x150 = x114 + x149
1190
+ x151 = x150 * x36
1191
+ x152 = x107 * x116
1192
+ x153 = x120 + x152
1193
+ x154 = 2.0 * x0 * (2.0 * x114 + x115 + x149) + x153 * x41
1194
+ x155 = x154 * x38
1195
+
1196
+ # 90 item(s)
1197
+ result[0, 0] = numpy.sum(
1198
+ x28 * x32 * (x0 * (2.0 * x18 + 3.0 * x19 + 5.0 * x22) + x25 * x3)
1199
+ )
1200
+ result[0, 1] = numpy.sum(x35 * x39)
1201
+ result[0, 2] = numpy.sum(x39 * x42)
1202
+ result[0, 3] = numpy.sum(x24 * x43 * x49)
1203
+ result[0, 4] = numpy.sum(x24 * x35 * x51)
1204
+ result[0, 5] = numpy.sum(x24 * x44 * x56)
1205
+ result[0, 6] = numpy.sum(x57 * x59 * x61)
1206
+ result[0, 7] = numpy.sum(x62 * x63 * x64)
1207
+ result[0, 8] = numpy.sum(x64 * x65 * x66)
1208
+ result[0, 9] = numpy.sum(x61 * x67 * x68)
1209
+ result[0, 10] = numpy.sum(x69 * x71 * x72)
1210
+ result[0, 11] = numpy.sum(x57 * x62 * x73)
1211
+ result[0, 12] = numpy.sum(x47 * x56 * x69)
1212
+ result[0, 13] = numpy.sum(x65 * x67 * x73)
1213
+ result[0, 14] = numpy.sum(x44 * x69 * x76)
1214
+ result[1, 0] = numpy.sum(x79 * x83)
1215
+ result[1, 1] = numpy.sum(x82 * x86 * x88)
1216
+ result[1, 2] = numpy.sum(x42 * x77 * x90)
1217
+ result[1, 3] = numpy.sum(x58 * x93 * x94)
1218
+ result[1, 4] = numpy.sum(x86 * x94 * x95)
1219
+ result[1, 5] = numpy.sum(x66 * x84 * x94)
1220
+ result[1, 6] = numpy.sum(x15 * x88 * x98)
1221
+ result[1, 7] = numpy.sum(x93 * x95 * x99)
1222
+ result[1, 8] = numpy.sum(x55 * x86 * x99)
1223
+ result[1, 9] = numpy.sum(x100 * x15 * x84)
1224
+ result[1, 10] = numpy.sum(x101 * x102)
1225
+ result[1, 11] = numpy.sum(x103 * x104 * x98)
1226
+ result[1, 12] = numpy.sum(x105 * x66 * x9)
1227
+ result[1, 13] = numpy.sum(x100 * x86 * x9)
1228
+ result[1, 14] = numpy.sum(x106 * x75 * x79 * x8)
1229
+ result[2, 0] = numpy.sum(x108 * x83)
1230
+ result[2, 1] = numpy.sum(x107 * x35 * x90)
1231
+ result[2, 2] = numpy.sum(x111 * x112 * x82)
1232
+ result[2, 3] = numpy.sum(x109 * x63 * x94)
1233
+ result[2, 4] = numpy.sum(x113 * x65 * x94)
1234
+ result[2, 5] = numpy.sum(x117 * x44 * x94)
1235
+ result[2, 6] = numpy.sum(x109 * x118 * x15)
1236
+ result[2, 7] = numpy.sum(x113 * x47 * x99)
1237
+ result[2, 8] = numpy.sum(x119 * x65 * x99)
1238
+ result[2, 9] = numpy.sum(x112 * x122 * x15)
1239
+ result[2, 10] = numpy.sum(x101 * x107 * x31 * x71)
1240
+ result[2, 11] = numpy.sum(x111 * x118 * x9)
1241
+ result[2, 12] = numpy.sum(0.3333333333333333 * x117 * x47 * x9)
1242
+ result[2, 13] = numpy.sum(x104 * x122 * x123)
1243
+ result[2, 14] = numpy.sum(x101 * x124)
1244
+ result[3, 0] = numpy.sum(x125 * x126 * x72)
1245
+ result[3, 1] = numpy.sum(x129 * x59 * x81)
1246
+ result[3, 2] = numpy.sum(x130 * x62 * x81)
1247
+ result[3, 3] = numpy.sum(x132 * x133 * x43)
1248
+ result[3, 4] = numpy.sum(x128 * x135 * x62)
1249
+ result[3, 5] = numpy.sum(x125 * x56 * x80)
1250
+ result[3, 6] = numpy.sum(x137 * x139)
1251
+ result[3, 7] = numpy.sum(x132 * x137 * x51)
1252
+ result[3, 8] = numpy.sum(x128 * x140 * x66)
1253
+ result[3, 9] = numpy.sum(x11 * x130 * x67)
1254
+ result[3, 10] = numpy.sum(
1255
+ x141 * x31 * (x0 * (3.0 * x131 + 5.0 * x96 + 2.0 * x97) + x138 * x34)
1256
+ )
1257
+ result[3, 11] = numpy.sum(x103 * x139 * x7)
1258
+ result[3, 12] = numpy.sum(x10 * x132 * x56)
1259
+ result[3, 13] = numpy.sum(x129 * x142 * x67)
1260
+ result[3, 14] = numpy.sum(x10 * x125 * x76)
1261
+ result[4, 0] = numpy.sum(x107 * x126 * x32 * x79)
1262
+ result[4, 1] = numpy.sum(x109 * x143 * x86)
1263
+ result[4, 2] = numpy.sum(x111 * x143 * x84)
1264
+ result[4, 3] = numpy.sum(x109 * x135 * x93)
1265
+ result[4, 4] = numpy.sum(x113 * x134 * x86)
1266
+ result[4, 5] = numpy.sum(x117 * x134 * x84)
1267
+ result[4, 6] = numpy.sum(x107 * x137 * x89 * x98)
1268
+ result[4, 7] = numpy.sum(x105 * x11 * x113)
1269
+ result[4, 8] = numpy.sum(x119 * x140 * x86)
1270
+ result[4, 9] = numpy.sum(x122 * x144 * x77 * x89)
1271
+ result[4, 10] = numpy.sum(x102 * x108 * x7)
1272
+ result[4, 11] = numpy.sum(x111 * x145 * x98)
1273
+ result[4, 12] = numpy.sum(x10 * x105 * x117)
1274
+ result[4, 13] = numpy.sum(x122 * x145 * x86)
1275
+ result[4, 14] = numpy.sum(x124 * x7 * x79)
1276
+ result[5, 0] = numpy.sum(x126 * x147 * x44)
1277
+ result[5, 1] = numpy.sum(x148 * x65 * x81)
1278
+ result[5, 2] = numpy.sum(x151 * x68 * x81)
1279
+ result[5, 3] = numpy.sum(x146 * x49 * x80)
1280
+ result[5, 4] = numpy.sum(x135 * x150 * x65)
1281
+ result[5, 5] = numpy.sum(x133 * x153 * x44)
1282
+ result[5, 6] = numpy.sum(x11 * x148 * x57)
1283
+ result[5, 7] = numpy.sum(x140 * x150 * x63)
1284
+ result[5, 8] = numpy.sum(x144 * x153 * x34 * x50)
1285
+ result[5, 9] = numpy.sum(x144 * x155)
1286
+ result[5, 10] = numpy.sum(x10 * x147 * x71)
1287
+ result[5, 11] = numpy.sum(x142 * x151 * x57)
1288
+ result[5, 12] = numpy.sum(x10 * x153 * x49)
1289
+ result[5, 13] = numpy.sum(x123 * x155 * x7)
1290
+ result[5, 14] = numpy.sum(
1291
+ x106 * x141 * (x0 * (5.0 * x120 + 2.0 * x121 + 3.0 * x152) + x154 * x41)
1292
+ )
1293
+ return result
1294
+
1295
+
1296
+ def ovlp3d_30(ax, da, A, bx, db, B):
1297
+ """Cartesian 3D (fs) overlap integral.
1298
+
1299
+ Generated code; DO NOT modify by hand!"""
1300
+
1301
+ result = numpy.zeros((10, 1), dtype=float)
1302
+
1303
+ x0 = (ax + bx) ** (-1.0)
1304
+ x1 = -x0 * (ax * A[0] + bx * B[0]) + A[0]
1305
+ x2 = x1**2
1306
+ x3 = 1.5 * x0
1307
+ x4 = 5.568327996831708
1308
+ x5 = numpy.sqrt(x0)
1309
+ x6 = ax * bx * x0
1310
+ x7 = numpy.exp(-x6 * (A[0] - B[0]) ** 2)
1311
+ x8 = numpy.exp(-x6 * (A[1] - B[1]) ** 2)
1312
+ x9 = numpy.exp(-x6 * (A[2] - B[2]) ** 2)
1313
+ x10 = da * db * x0 * x1 * x4 * x5 * x7 * x8 * x9
1314
+ x11 = 0.2581988897471611
1315
+ x12 = -x0 * (ax * A[1] + bx * B[1]) + A[1]
1316
+ x13 = da * db * x0 * x4 * x5 * x7 * x8 * x9
1317
+ x14 = x12 * x13
1318
+ x15 = 0.5 * x0
1319
+ x16 = 0.5773502691896258
1320
+ x17 = x16 * (x15 + x2)
1321
+ x18 = -x0 * (ax * A[2] + bx * B[2]) + A[2]
1322
+ x19 = x13 * x18
1323
+ x20 = x12**2
1324
+ x21 = x15 + x20
1325
+ x22 = x10 * x16
1326
+ x23 = x18**2
1327
+ x24 = x15 + x23
1328
+
1329
+ # 10 item(s)
1330
+ result[0, 0] = numpy.sum(-x10 * x11 * (x2 + x3))
1331
+ result[1, 0] = numpy.sum(-x14 * x17)
1332
+ result[2, 0] = numpy.sum(-x17 * x19)
1333
+ result[3, 0] = numpy.sum(-x21 * x22)
1334
+ result[4, 0] = numpy.sum(-x10 * x12 * x18)
1335
+ result[5, 0] = numpy.sum(-x22 * x24)
1336
+ result[6, 0] = numpy.sum(-x11 * x14 * (x20 + x3))
1337
+ result[7, 0] = numpy.sum(-x16 * x19 * x21)
1338
+ result[8, 0] = numpy.sum(-x14 * x16 * x24)
1339
+ result[9, 0] = numpy.sum(-x11 * x19 * (x23 + x3))
1340
+ return result
1341
+
1342
+
1343
+ def ovlp3d_31(ax, da, A, bx, db, B):
1344
+ """Cartesian 3D (fp) overlap integral.
1345
+
1346
+ Generated code; DO NOT modify by hand!"""
1347
+
1348
+ result = numpy.zeros((10, 3), dtype=float)
1349
+
1350
+ x0 = (ax + bx) ** (-1.0)
1351
+ x1 = x0 * (ax * A[0] + bx * B[0])
1352
+ x2 = -x1
1353
+ x3 = x2 + A[0]
1354
+ x4 = x3**2
1355
+ x5 = 3.0 * x0
1356
+ x6 = x2 + B[0]
1357
+ x7 = x3 * x6
1358
+ x8 = x0 * (-2.0 * x1 + A[0] + B[0]) + x3 * (x0 + 2.0 * x7)
1359
+ x9 = ax * bx * x0
1360
+ x10 = (
1361
+ 5.568327996831708
1362
+ * da
1363
+ * db
1364
+ * numpy.exp(-x9 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
1365
+ )
1366
+ x11 = x0**1.5 * x10
1367
+ x12 = 3.872983346207417 * x11
1368
+ x13 = 0.01666666666666667 * x12
1369
+ x14 = x0 * (ax * A[1] + bx * B[1])
1370
+ x15 = -x14
1371
+ x16 = x15 + B[1]
1372
+ x17 = 0.06666666666666667 * x12
1373
+ x18 = x16 * x17
1374
+ x19 = 1.5 * x0
1375
+ x20 = x3 * (x19 + x4)
1376
+ x21 = x0 * (ax * A[2] + bx * B[2])
1377
+ x22 = -x21
1378
+ x23 = x22 + B[2]
1379
+ x24 = x17 * x23
1380
+ x25 = x15 + A[1]
1381
+ x26 = x11 * x25
1382
+ x27 = 1.732050807568877
1383
+ x28 = 0.1666666666666667 * x27
1384
+ x29 = x28 * x8
1385
+ x30 = 0.5 * x0
1386
+ x31 = x16 * x25
1387
+ x32 = x30 + x31
1388
+ x33 = 0.3333333333333333 * x27
1389
+ x34 = x33 * (x30 + x4)
1390
+ x35 = x0**1.5 * x10
1391
+ x36 = x34 * x35
1392
+ x37 = x22 + A[2]
1393
+ x38 = x11 * x37
1394
+ x39 = x23 * x37
1395
+ x40 = x30 + x39
1396
+ x41 = x25**2
1397
+ x42 = x30 + x41
1398
+ x43 = x30 + x7
1399
+ x44 = x33 * x35
1400
+ x45 = x43 * x44
1401
+ x46 = x0 * (-2.0 * x14 + A[1] + B[1]) + x25 * (x0 + 2.0 * x31)
1402
+ x47 = x28 * x46
1403
+ x48 = x11 * x3
1404
+ x49 = x33 * x48
1405
+ x50 = x37**2
1406
+ x51 = x30 + x50
1407
+ x52 = x0 * (-2.0 * x21 + A[2] + B[2]) + x37 * (x0 + 2.0 * x39)
1408
+ x53 = x28 * x52
1409
+ x54 = x25 * (x19 + x41)
1410
+ x55 = x17 * x6
1411
+ x56 = x33 * x6
1412
+ x57 = x37 * (x19 + x50)
1413
+
1414
+ # 30 item(s)
1415
+ result[0, 0] = numpy.sum(x13 * (x0 * (2.0 * x4 + x5 + 4.0 * x7) + 2.0 * x3 * x8))
1416
+ result[0, 1] = numpy.sum(x18 * x20)
1417
+ result[0, 2] = numpy.sum(x20 * x24)
1418
+ result[1, 0] = numpy.sum(x26 * x29)
1419
+ result[1, 1] = numpy.sum(x32 * x36)
1420
+ result[1, 2] = numpy.sum(x23 * x26 * x34)
1421
+ result[2, 0] = numpy.sum(x29 * x38)
1422
+ result[2, 1] = numpy.sum(x16 * x34 * x38)
1423
+ result[2, 2] = numpy.sum(x36 * x40)
1424
+ result[3, 0] = numpy.sum(x42 * x45)
1425
+ result[3, 1] = numpy.sum(x47 * x48)
1426
+ result[3, 2] = numpy.sum(x23 * x42 * x49)
1427
+ result[4, 0] = numpy.sum(x25 * x38 * x43)
1428
+ result[4, 1] = numpy.sum(x3 * x32 * x38)
1429
+ result[4, 2] = numpy.sum(x26 * x3 * x40)
1430
+ result[5, 0] = numpy.sum(x45 * x51)
1431
+ result[5, 1] = numpy.sum(x16 * x49 * x51)
1432
+ result[5, 2] = numpy.sum(x48 * x53)
1433
+ result[6, 0] = numpy.sum(x54 * x55)
1434
+ result[6, 1] = numpy.sum(x13 * (x0 * (4.0 * x31 + 2.0 * x41 + x5) + 2.0 * x25 * x46))
1435
+ result[6, 2] = numpy.sum(x24 * x54)
1436
+ result[7, 0] = numpy.sum(x38 * x42 * x56)
1437
+ result[7, 1] = numpy.sum(x38 * x47)
1438
+ result[7, 2] = numpy.sum(x40 * x42 * x44)
1439
+ result[8, 0] = numpy.sum(x26 * x51 * x56)
1440
+ result[8, 1] = numpy.sum(x32 * x44 * x51)
1441
+ result[8, 2] = numpy.sum(x26 * x53)
1442
+ result[9, 0] = numpy.sum(x55 * x57)
1443
+ result[9, 1] = numpy.sum(x18 * x57)
1444
+ result[9, 2] = numpy.sum(x13 * (x0 * (4.0 * x39 + x5 + 2.0 * x50) + 2.0 * x37 * x52))
1445
+ return result
1446
+
1447
+
1448
+ def ovlp3d_32(ax, da, A, bx, db, B):
1449
+ """Cartesian 3D (fd) overlap integral.
1450
+
1451
+ Generated code; DO NOT modify by hand!"""
1452
+
1453
+ result = numpy.zeros((10, 6), dtype=float)
1454
+
1455
+ x0 = (ax + bx) ** (-1.0)
1456
+ x1 = x0 * (ax * A[0] + bx * B[0])
1457
+ x2 = -x1
1458
+ x3 = x2 + B[0]
1459
+ x4 = x3**2
1460
+ x5 = 3.0 * x0
1461
+ x6 = x2 + A[0]
1462
+ x7 = x3 * x6
1463
+ x8 = x5 + 4.0 * x7
1464
+ x9 = x0 * (-2.0 * x1 + A[0] + B[0])
1465
+ x10 = x0 + 2.0 * x7
1466
+ x11 = x10 * x3
1467
+ x12 = x11 + x9
1468
+ x13 = 2.0 * x6
1469
+ x14 = x0 * (2.0 * x4 + x8) + x12 * x13
1470
+ x15 = x10 * x6
1471
+ x16 = 2.0 * x0
1472
+ x17 = 2.23606797749979
1473
+ x18 = ax * bx * x0
1474
+ x19 = (
1475
+ 5.568327996831708
1476
+ * da
1477
+ * db
1478
+ * numpy.exp(-x18 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
1479
+ )
1480
+ x20 = x0**1.5 * x19
1481
+ x21 = 0.01666666666666667 * x20
1482
+ x22 = x17 * x21
1483
+ x23 = x0 * (ax * A[1] + bx * B[1])
1484
+ x24 = -x23
1485
+ x25 = x24 + B[1]
1486
+ x26 = x6**2
1487
+ x27 = x15 + x9
1488
+ x28 = 3.872983346207417
1489
+ x29 = x21 * x28
1490
+ x30 = x29 * (x0 * (2.0 * x26 + x8) + x13 * x27)
1491
+ x31 = x0 * (ax * A[2] + bx * B[2])
1492
+ x32 = -x31
1493
+ x33 = x32 + B[2]
1494
+ x34 = x25**2
1495
+ x35 = 0.5 * x0
1496
+ x36 = x34 + x35
1497
+ x37 = 0.06666666666666667 * x17
1498
+ x38 = x36 * x37
1499
+ x39 = 1.5 * x0
1500
+ x40 = x26 + x39
1501
+ x41 = x0**1.5 * x19
1502
+ x42 = x41 * x6
1503
+ x43 = x40 * x42
1504
+ x44 = x20 * x33
1505
+ x45 = 0.06666666666666667 * x28
1506
+ x46 = x33**2
1507
+ x47 = x35 + x46
1508
+ x48 = x37 * x47
1509
+ x49 = x24 + A[1]
1510
+ x50 = 0.08333333333333333 * x20
1511
+ x51 = x14 * x50
1512
+ x52 = x25 * x49
1513
+ x53 = x35 + x52
1514
+ x54 = 1.732050807568877
1515
+ x55 = 0.1666666666666667 * x41
1516
+ x56 = x54 * x55
1517
+ x57 = x27 * x56
1518
+ x58 = x44 * x49
1519
+ x59 = 0.1666666666666667 * x54
1520
+ x60 = x27 * x59
1521
+ x61 = x0 * (-2.0 * x23 + A[1] + B[1])
1522
+ x62 = x0 + 2.0 * x52
1523
+ x63 = x25 * x62
1524
+ x64 = x61 + x63
1525
+ x65 = x26 + x35
1526
+ x66 = x55 * x65
1527
+ x67 = 0.3333333333333333 * x54
1528
+ x68 = x33 * x67
1529
+ x69 = x41 * x65
1530
+ x70 = 0.3333333333333333 * x47
1531
+ x71 = x41 * x49
1532
+ x72 = x32 + A[2]
1533
+ x73 = x20 * x72
1534
+ x74 = x25 * x73
1535
+ x75 = x33 * x72
1536
+ x76 = x35 + x75
1537
+ x77 = 0.3333333333333333 * x36
1538
+ x78 = x41 * x72
1539
+ x79 = x25 * x67
1540
+ x80 = x0 * (-2.0 * x31 + A[2] + B[2])
1541
+ x81 = x0 + 2.0 * x75
1542
+ x82 = x33 * x81
1543
+ x83 = x80 + x82
1544
+ x84 = x49**2
1545
+ x85 = x35 + x84
1546
+ x86 = x12 * x55
1547
+ x87 = x49 * x62
1548
+ x88 = x61 + x87
1549
+ x89 = x35 + x7
1550
+ x90 = x56 * x89
1551
+ x91 = x41 * x89
1552
+ x92 = x5 + 4.0 * x52
1553
+ x93 = 2.0 * x49
1554
+ x94 = x0 * (2.0 * x34 + x92) + x64 * x93
1555
+ x95 = x50 * x6
1556
+ x96 = x59 * x6
1557
+ x97 = x59 * x73
1558
+ x98 = x20 * x96
1559
+ x99 = x72**2
1560
+ x100 = x35 + x99
1561
+ x101 = x72 * x81
1562
+ x102 = x101 + x80
1563
+ x103 = x5 + 4.0 * x75
1564
+ x104 = 2.0 * x72
1565
+ x105 = x0 * (x103 + 2.0 * x46) + x104 * x83
1566
+ x106 = x39 + x84
1567
+ x107 = x106 * x71
1568
+ x108 = x35 + x4
1569
+ x109 = x108 * x37
1570
+ x110 = x29 * (x0 * (2.0 * x84 + x92) + x88 * x93)
1571
+ x111 = x3 * x45
1572
+ x112 = 0.3333333333333333 * x108
1573
+ x113 = x3 * x41 * x67
1574
+ x114 = x39 + x99
1575
+ x115 = x114 * x78
1576
+ x116 = x29 * (x0 * (x103 + 2.0 * x99) + x102 * x104)
1577
+
1578
+ # 60 item(s)
1579
+ result[0, 0] = numpy.sum(-x22 * (x14 * x6 + x16 * (x11 + x15 + 2.0 * x9)))
1580
+ result[0, 1] = numpy.sum(-x25 * x30)
1581
+ result[0, 2] = numpy.sum(-x30 * x33)
1582
+ result[0, 3] = numpy.sum(-x38 * x43)
1583
+ result[0, 4] = numpy.sum(-x25 * x40 * x44 * x45 * x6)
1584
+ result[0, 5] = numpy.sum(-x43 * x48)
1585
+ result[1, 0] = numpy.sum(-x49 * x51)
1586
+ result[1, 1] = numpy.sum(-x53 * x57)
1587
+ result[1, 2] = numpy.sum(-x58 * x60)
1588
+ result[1, 3] = numpy.sum(-x64 * x66)
1589
+ result[1, 4] = numpy.sum(-x53 * x68 * x69)
1590
+ result[1, 5] = numpy.sum(-x65 * x70 * x71)
1591
+ result[2, 0] = numpy.sum(-x51 * x72)
1592
+ result[2, 1] = numpy.sum(-x60 * x74)
1593
+ result[2, 2] = numpy.sum(-x57 * x76)
1594
+ result[2, 3] = numpy.sum(-x65 * x77 * x78)
1595
+ result[2, 4] = numpy.sum(-x69 * x76 * x79)
1596
+ result[2, 5] = numpy.sum(-x66 * x83)
1597
+ result[3, 0] = numpy.sum(-x85 * x86)
1598
+ result[3, 1] = numpy.sum(-x88 * x90)
1599
+ result[3, 2] = numpy.sum(-x68 * x85 * x91)
1600
+ result[3, 3] = numpy.sum(-x94 * x95)
1601
+ result[3, 4] = numpy.sum(-x44 * x88 * x96)
1602
+ result[3, 5] = numpy.sum(-x42 * x70 * x85)
1603
+ result[4, 0] = numpy.sum(-x12 * x49 * x97)
1604
+ result[4, 1] = numpy.sum(-x53 * x72 * x91)
1605
+ result[4, 2] = numpy.sum(-x49 * x76 * x91)
1606
+ result[4, 3] = numpy.sum(-x64 * x73 * x96)
1607
+ result[4, 4] = numpy.sum(-x42 * x53 * x76)
1608
+ result[4, 5] = numpy.sum(-x49 * x83 * x98)
1609
+ result[5, 0] = numpy.sum(-x100 * x86)
1610
+ result[5, 1] = numpy.sum(-x100 * x79 * x91)
1611
+ result[5, 2] = numpy.sum(-x102 * x90)
1612
+ result[5, 3] = numpy.sum(-x100 * x42 * x77)
1613
+ result[5, 4] = numpy.sum(-x102 * x25 * x98)
1614
+ result[5, 5] = numpy.sum(-x105 * x95)
1615
+ result[6, 0] = numpy.sum(-x107 * x109)
1616
+ result[6, 1] = numpy.sum(-x110 * x3)
1617
+ result[6, 2] = numpy.sum(-x106 * x111 * x58)
1618
+ result[6, 3] = numpy.sum(-x22 * (x16 * (2.0 * x61 + x63 + x87) + x49 * x94))
1619
+ result[6, 4] = numpy.sum(-x110 * x33)
1620
+ result[6, 5] = numpy.sum(-x107 * x48)
1621
+ result[7, 0] = numpy.sum(-x112 * x78 * x85)
1622
+ result[7, 1] = numpy.sum(-x3 * x88 * x97)
1623
+ result[7, 2] = numpy.sum(-x113 * x76 * x85)
1624
+ result[7, 3] = numpy.sum(-x50 * x72 * x94)
1625
+ result[7, 4] = numpy.sum(-x56 * x76 * x88)
1626
+ result[7, 5] = numpy.sum(-x55 * x83 * x85)
1627
+ result[8, 0] = numpy.sum(-x100 * x112 * x71)
1628
+ result[8, 1] = numpy.sum(-x100 * x113 * x53)
1629
+ result[8, 2] = numpy.sum(-x102 * x20 * x3 * x49 * x59)
1630
+ result[8, 3] = numpy.sum(-x100 * x55 * x64)
1631
+ result[8, 4] = numpy.sum(-x102 * x53 * x56)
1632
+ result[8, 5] = numpy.sum(-x105 * x49 * x50)
1633
+ result[9, 0] = numpy.sum(-x109 * x115)
1634
+ result[9, 1] = numpy.sum(-x111 * x114 * x74)
1635
+ result[9, 2] = numpy.sum(-x116 * x3)
1636
+ result[9, 3] = numpy.sum(-x115 * x38)
1637
+ result[9, 4] = numpy.sum(-x116 * x25)
1638
+ result[9, 5] = numpy.sum(-x22 * (x105 * x72 + x16 * (x101 + 2.0 * x80 + x82)))
1639
+ return result
1640
+
1641
+
1642
+ def ovlp3d_33(ax, da, A, bx, db, B):
1643
+ """Cartesian 3D (ff) overlap integral.
1644
+
1645
+ Generated code; DO NOT modify by hand!"""
1646
+
1647
+ result = numpy.zeros((10, 10), dtype=float)
1648
+
1649
+ x0 = (ax + bx) ** (-1.0)
1650
+ x1 = x0 * (ax * A[0] + bx * B[0])
1651
+ x2 = -x1
1652
+ x3 = x2 + B[0]
1653
+ x4 = x0 * (-2.0 * x1 + A[0] + B[0])
1654
+ x5 = x2 + A[0]
1655
+ x6 = x3 * x5
1656
+ x7 = x0 + 2.0 * x6
1657
+ x8 = x3 * x7
1658
+ x9 = x4 + x8
1659
+ x10 = x3 * x9
1660
+ x11 = x3**2
1661
+ x12 = 3.0 * x0
1662
+ x13 = x12 + 4.0 * x6
1663
+ x14 = x0 * (2.0 * x11 + x13)
1664
+ x15 = x5 * x9
1665
+ x16 = x14 + 2.0 * x15
1666
+ x17 = x5 * x7
1667
+ x18 = 2.0 * x0
1668
+ x19 = x18 * (x17 + 2.0 * x4 + x8)
1669
+ x20 = x16 * x3 + x19
1670
+ x21 = 2.0 * x5
1671
+ x22 = ax * bx * x0
1672
+ x23 = (
1673
+ 5.568327996831708
1674
+ * da
1675
+ * db
1676
+ * numpy.exp(-x22 * ((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2 + (A[2] - B[2]) ** 2))
1677
+ )
1678
+ x24 = x0**1.5 * x23
1679
+ x25 = 0.008333333333333333 * x24
1680
+ x26 = x0 * (ax * A[1] + bx * B[1])
1681
+ x27 = -x26
1682
+ x28 = x27 + B[1]
1683
+ x29 = 2.23606797749979
1684
+ x30 = 0.01666666666666667 * x29
1685
+ x31 = x24 * x30
1686
+ x32 = x31 * (x16 * x5 + x19)
1687
+ x33 = x0 * (ax * A[2] + bx * B[2])
1688
+ x34 = -x33
1689
+ x35 = x34 + B[2]
1690
+ x36 = x28**2
1691
+ x37 = 0.5 * x0
1692
+ x38 = x36 + x37
1693
+ x39 = x0**1.5 * x23
1694
+ x40 = x38 * x39
1695
+ x41 = x5**2
1696
+ x42 = x17 + x4
1697
+ x43 = x0 * (x13 + 2.0 * x41) + x21 * x42
1698
+ x44 = x30 * x43
1699
+ x45 = 0.06454972243679028
1700
+ x46 = x24 * x45
1701
+ x47 = x35**2
1702
+ x48 = x37 + x47
1703
+ x49 = x39 * x48
1704
+ x50 = 1.5 * x0
1705
+ x51 = 0.06666666666666667 * x5
1706
+ x52 = x51 * (x41 + x50)
1707
+ x53 = x36 + x50
1708
+ x54 = x28 * x39
1709
+ x55 = x53 * x54
1710
+ x56 = x29 * x52
1711
+ x57 = x47 + x50
1712
+ x58 = x35 * x39
1713
+ x59 = x57 * x58
1714
+ x60 = x27 + A[1]
1715
+ x61 = x20 * x31
1716
+ x62 = 0.08333333333333333 * x16
1717
+ x63 = x28 * x60
1718
+ x64 = x39 * (x37 + x63)
1719
+ x65 = x24 * x62
1720
+ x66 = x35 * x60
1721
+ x67 = x0 * (-2.0 * x26 + A[1] + B[1])
1722
+ x68 = x0 + 2.0 * x63
1723
+ x69 = x28 * x68
1724
+ x70 = x67 + x69
1725
+ x71 = 0.08333333333333333 * x39
1726
+ x72 = x42 * x71
1727
+ x73 = 1.732050807568877
1728
+ x74 = 0.1666666666666667 * x42
1729
+ x75 = x73 * x74
1730
+ x76 = x49 * x60
1731
+ x77 = x12 + 4.0 * x63
1732
+ x78 = x0 * (2.0 * x36 + x77)
1733
+ x79 = 2.0 * x70
1734
+ x80 = x28 * x79 + x78
1735
+ x81 = x37 + x41
1736
+ x82 = x39 * x81
1737
+ x83 = x30 * x82
1738
+ x84 = 0.1666666666666667 * x82
1739
+ x85 = 0.3333333333333333 * x81
1740
+ x86 = x29 * x57
1741
+ x87 = 0.06666666666666667 * x82
1742
+ x88 = x34 + A[2]
1743
+ x89 = x28 * x88
1744
+ x90 = x35 * x88
1745
+ x91 = x37 + x90
1746
+ x92 = x39 * x91
1747
+ x93 = x40 * x88
1748
+ x94 = x0 * (-2.0 * x33 + A[2] + B[2])
1749
+ x95 = x0 + 2.0 * x90
1750
+ x96 = x35 * x95
1751
+ x97 = x94 + x96
1752
+ x98 = x29 * x53
1753
+ x99 = x12 + 4.0 * x90
1754
+ x100 = x0 * (2.0 * x47 + x99)
1755
+ x101 = 2.0 * x97
1756
+ x102 = x100 + x101 * x35
1757
+ x103 = x60**2
1758
+ x104 = x103 + x37
1759
+ x105 = x104 * x39
1760
+ x106 = 2.0 * x10 + x14
1761
+ x107 = x106 * x30
1762
+ x108 = x60 * x68
1763
+ x109 = x108 + x67
1764
+ x110 = x71 * x9
1765
+ x111 = 0.1666666666666667 * x9
1766
+ x112 = x105 * x35
1767
+ x113 = x60 * x79 + x78
1768
+ x114 = x37 + x6
1769
+ x115 = x114 * x71
1770
+ x116 = x109 * x73
1771
+ x117 = 0.1666666666666667 * x114
1772
+ x118 = 0.3333333333333333 * x114
1773
+ x119 = x18 * (x108 + 2.0 * x67 + x69)
1774
+ x120 = x113 * x28 + x119
1775
+ x121 = x31 * x5
1776
+ x122 = x24 * x5
1777
+ x123 = 0.08333333333333333 * x113
1778
+ x124 = 0.1666666666666667 * x5
1779
+ x125 = x111 * x73
1780
+ x126 = x70 * x73
1781
+ x127 = x39 * x88
1782
+ x128 = x73 * x97
1783
+ x129 = x39 * x60
1784
+ x130 = x122 * x45
1785
+ x131 = x88**2
1786
+ x132 = x131 + x37
1787
+ x133 = x132 * x39
1788
+ x134 = x133 * x28
1789
+ x135 = x88 * x95
1790
+ x136 = x135 + x94
1791
+ x137 = x136 * x73
1792
+ x138 = x100 + x101 * x88
1793
+ x139 = 0.08333333333333333 * x138
1794
+ x140 = x18 * (x135 + 2.0 * x94 + x96)
1795
+ x141 = x138 * x35 + x140
1796
+ x142 = 0.06666666666666667 * x103 + 0.06666666666666667 * x50
1797
+ x143 = x3 * (x11 + x50)
1798
+ x144 = 2.0 * x60
1799
+ x145 = x0 * (2.0 * x103 + x77) + x109 * x144
1800
+ x146 = x145 * x30
1801
+ x147 = x11 + x37
1802
+ x148 = x147 * x39
1803
+ x149 = x142 * x29
1804
+ x150 = x31 * (x113 * x60 + x119)
1805
+ x151 = x24 * x3
1806
+ x152 = x151 * x45
1807
+ x153 = 0.06666666666666667 * x143 * x29
1808
+ x154 = 0.1666666666666667 * x148
1809
+ x155 = 0.3333333333333333 * x147
1810
+ x156 = 0.1666666666666667 * x3
1811
+ x157 = 0.06666666666666667 * x131 + 0.06666666666666667 * x50
1812
+ x158 = x157 * x29
1813
+ x159 = 2.0 * x88
1814
+ x160 = x0 * (2.0 * x131 + x99) + x136 * x159
1815
+ x161 = x160 * x30
1816
+ x162 = x31 * (x138 * x88 + x140)
1817
+
1818
+ # 100 item(s)
1819
+ result[0, 0] = numpy.sum(x25 * (x0 * (4.0 * x10 + 5.0 * x14 + 6.0 * x15) + x20 * x21))
1820
+ result[0, 1] = numpy.sum(x28 * x32)
1821
+ result[0, 2] = numpy.sum(x32 * x35)
1822
+ result[0, 3] = numpy.sum(x40 * x44)
1823
+ result[0, 4] = numpy.sum(x28 * x35 * x43 * x46)
1824
+ result[0, 5] = numpy.sum(x44 * x49)
1825
+ result[0, 6] = numpy.sum(x52 * x55)
1826
+ result[0, 7] = numpy.sum(x35 * x40 * x56)
1827
+ result[0, 8] = numpy.sum(x28 * x49 * x56)
1828
+ result[0, 9] = numpy.sum(x52 * x59)
1829
+ result[1, 0] = numpy.sum(x60 * x61)
1830
+ result[1, 1] = numpy.sum(x62 * x64)
1831
+ result[1, 2] = numpy.sum(x65 * x66)
1832
+ result[1, 3] = numpy.sum(x70 * x72)
1833
+ result[1, 4] = numpy.sum(x35 * x64 * x75)
1834
+ result[1, 5] = numpy.sum(x74 * x76)
1835
+ result[1, 6] = numpy.sum(x80 * x83)
1836
+ result[1, 7] = numpy.sum(x35 * x70 * x84)
1837
+ result[1, 8] = numpy.sum(x48 * x64 * x85)
1838
+ result[1, 9] = numpy.sum(x66 * x86 * x87)
1839
+ result[2, 0] = numpy.sum(x61 * x88)
1840
+ result[2, 1] = numpy.sum(x65 * x89)
1841
+ result[2, 2] = numpy.sum(x62 * x92)
1842
+ result[2, 3] = numpy.sum(x74 * x93)
1843
+ result[2, 4] = numpy.sum(x28 * x75 * x92)
1844
+ result[2, 5] = numpy.sum(x72 * x97)
1845
+ result[2, 6] = numpy.sum(x87 * x89 * x98)
1846
+ result[2, 7] = numpy.sum(x38 * x85 * x92)
1847
+ result[2, 8] = numpy.sum(x28 * x84 * x97)
1848
+ result[2, 9] = numpy.sum(x102 * x83)
1849
+ result[3, 0] = numpy.sum(x105 * x107)
1850
+ result[3, 1] = numpy.sum(x109 * x110)
1851
+ result[3, 2] = numpy.sum(x111 * x112)
1852
+ result[3, 3] = numpy.sum(x113 * x115)
1853
+ result[3, 4] = numpy.sum(x116 * x117 * x58)
1854
+ result[3, 5] = numpy.sum(x104 * x118 * x49)
1855
+ result[3, 6] = numpy.sum(x120 * x121)
1856
+ result[3, 7] = numpy.sum(x122 * x123 * x35)
1857
+ result[3, 8] = numpy.sum(x109 * x124 * x49)
1858
+ result[3, 9] = numpy.sum(x112 * x51 * x86)
1859
+ result[4, 0] = numpy.sum(x106 * x46 * x60 * x88)
1860
+ result[4, 1] = numpy.sum(x125 * x64 * x88)
1861
+ result[4, 2] = numpy.sum(x125 * x60 * x92)
1862
+ result[4, 3] = numpy.sum(x117 * x126 * x127)
1863
+ result[4, 4] = numpy.sum(x114 * x64 * x91)
1864
+ result[4, 5] = numpy.sum(x117 * x128 * x129)
1865
+ result[4, 6] = numpy.sum(x130 * x80 * x88)
1866
+ result[4, 7] = numpy.sum(x124 * x126 * x92)
1867
+ result[4, 8] = numpy.sum(x124 * x128 * x64)
1868
+ result[4, 9] = numpy.sum(x102 * x130 * x60)
1869
+ result[5, 0] = numpy.sum(x107 * x133)
1870
+ result[5, 1] = numpy.sum(x111 * x134)
1871
+ result[5, 2] = numpy.sum(x110 * x136)
1872
+ result[5, 3] = numpy.sum(x118 * x132 * x40)
1873
+ result[5, 4] = numpy.sum(x117 * x137 * x54)
1874
+ result[5, 5] = numpy.sum(x115 * x138)
1875
+ result[5, 6] = numpy.sum(x134 * x51 * x98)
1876
+ result[5, 7] = numpy.sum(x124 * x136 * x40)
1877
+ result[5, 8] = numpy.sum(x122 * x139 * x28)
1878
+ result[5, 9] = numpy.sum(x121 * x141)
1879
+ result[6, 0] = numpy.sum(x129 * x142 * x143)
1880
+ result[6, 1] = numpy.sum(x146 * x148)
1881
+ result[6, 2] = numpy.sum(x148 * x149 * x66)
1882
+ result[6, 3] = numpy.sum(x150 * x3)
1883
+ result[6, 4] = numpy.sum(x145 * x152 * x35)
1884
+ result[6, 5] = numpy.sum(x149 * x3 * x76)
1885
+ result[6, 6] = numpy.sum(
1886
+ x25 * (x0 * (4.0 * x28 * x70 + 6.0 * x60 * x70 + 5.0 * x78) + x120 * x144)
1887
+ )
1888
+ result[6, 7] = numpy.sum(x150 * x35)
1889
+ result[6, 8] = numpy.sum(x146 * x49)
1890
+ result[6, 9] = numpy.sum(x142 * x59 * x60)
1891
+ result[7, 0] = numpy.sum(x105 * x153 * x88)
1892
+ result[7, 1] = numpy.sum(x109 * x154 * x88)
1893
+ result[7, 2] = numpy.sum(x104 * x155 * x92)
1894
+ result[7, 3] = numpy.sum(x123 * x151 * x88)
1895
+ result[7, 4] = numpy.sum(x116 * x156 * x92)
1896
+ result[7, 5] = numpy.sum(x105 * x156 * x97)
1897
+ result[7, 6] = numpy.sum(x120 * x31 * x88)
1898
+ result[7, 7] = numpy.sum(x113 * x71 * x91)
1899
+ result[7, 8] = numpy.sum(x109 * x71 * x97)
1900
+ result[7, 9] = numpy.sum(x102 * x105 * x30)
1901
+ result[8, 0] = numpy.sum(x133 * x153 * x60)
1902
+ result[8, 1] = numpy.sum(x132 * x155 * x64)
1903
+ result[8, 2] = numpy.sum(x136 * x154 * x60)
1904
+ result[8, 3] = numpy.sum(x133 * x156 * x70)
1905
+ result[8, 4] = numpy.sum(x137 * x156 * x64)
1906
+ result[8, 5] = numpy.sum(x139 * x151 * x60)
1907
+ result[8, 6] = numpy.sum(x133 * x30 * x80)
1908
+ result[8, 7] = numpy.sum(x136 * x70 * x71)
1909
+ result[8, 8] = numpy.sum(x139 * x64)
1910
+ result[8, 9] = numpy.sum(x141 * x31 * x60)
1911
+ result[9, 0] = numpy.sum(x127 * x143 * x157)
1912
+ result[9, 1] = numpy.sum(x148 * x158 * x89)
1913
+ result[9, 2] = numpy.sum(x148 * x161)
1914
+ result[9, 3] = numpy.sum(x158 * x3 * x93)
1915
+ result[9, 4] = numpy.sum(x152 * x160 * x28)
1916
+ result[9, 5] = numpy.sum(x162 * x3)
1917
+ result[9, 6] = numpy.sum(x157 * x55 * x88)
1918
+ result[9, 7] = numpy.sum(x161 * x40)
1919
+ result[9, 8] = numpy.sum(x162 * x28)
1920
+ result[9, 9] = numpy.sum(
1921
+ x25 * (x0 * (5.0 * x100 + 4.0 * x35 * x97 + 6.0 * x88 * x97) + x141 * x159)
1922
+ )
1923
+ return result
1924
+
1925
+
1926
+ def ovlp3d_34(ax, da, A, bx, db, B):
1927
+ """Cartesian 3D (fg) overlap integral.
1928
+
1929
+ Generated code; DO NOT modify by hand!"""
1930
+
1931
+ result = numpy.zeros((10, 15), dtype=float)
1932
+
1933
+ x0 = 0.5 / (ax + bx)
1934
+ x1 = (ax + bx) ** (-1.0)
1935
+ x2 = -x1 * (ax * A[0] + bx * B[0])
1936
+ x3 = -x2 - A[0]
1937
+ x4 = -x2 - B[0]
1938
+ x5 = ax * bx * x1
1939
+ x6 = numpy.exp(-x5 * (A[0] - B[0]) ** 2)
1940
+ x7 = 1.772453850905516 * numpy.sqrt(x1)
1941
+ x8 = x6 * x7
1942
+ x9 = x4**2 * x8
1943
+ x10 = x0 * x8
1944
+ x11 = 3.0 * x10
1945
+ x12 = x3 * x8
1946
+ x13 = x12 * x4
1947
+ x14 = x11 + 2.0 * x13
1948
+ x15 = x0 * (x14 + x9)
1949
+ x16 = x4 * x8
1950
+ x17 = x0 * (x12 + x16)
1951
+ x18 = x10 + x13
1952
+ x19 = x18 * x4
1953
+ x20 = x17 + x19
1954
+ x21 = x20 * x3
1955
+ x22 = x15 + x21
1956
+ x23 = x22 * x3
1957
+ x24 = x22 * x4
1958
+ x25 = x18 * x3
1959
+ x26 = 2.0 * x0 * (2.0 * x17 + x19 + x25)
1960
+ x27 = x20 * x4
1961
+ x28 = x0 * (5.0 * x15 + 3.0 * x21 + 2.0 * x27)
1962
+ x29 = x24 + x26
1963
+ x30 = x28 + x29 * x3
1964
+ x31 = da * db
1965
+ x32 = 0.009523809523809524 * x31
1966
+ x33 = 2.645751311064591 * x32
1967
+ x34 = numpy.exp(-x5 * (A[1] - B[1]) ** 2)
1968
+ x35 = numpy.exp(-x5 * (A[2] - B[2]) ** 2)
1969
+ x36 = 3.141592653589793 * x1 * x35
1970
+ x37 = x34 * x36
1971
+ x38 = -x1 * (ax * A[1] + bx * B[1])
1972
+ x39 = -x38 - B[1]
1973
+ x40 = 0.06666666666666667 * x31
1974
+ x41 = x39 * x40
1975
+ x42 = x30 * x37
1976
+ x43 = -x1 * (ax * A[2] + bx * B[2])
1977
+ x44 = -x43 - B[2]
1978
+ x45 = x40 * x44
1979
+ x46 = x23 + x26
1980
+ x47 = x35 * x7
1981
+ x48 = 3.872983346207417
1982
+ x49 = 0.02222222222222222 * x48
1983
+ x50 = x34 * x7
1984
+ x51 = x39**2 * x50
1985
+ x52 = x0 * x50
1986
+ x53 = x51 + x52
1987
+ x54 = x31 * x53
1988
+ x55 = x49 * x54
1989
+ x56 = 2.23606797749979
1990
+ x57 = x40 * x56
1991
+ x58 = x44 * x57
1992
+ x59 = x37 * x58
1993
+ x60 = x44**2 * x47
1994
+ x61 = x0 * x47
1995
+ x62 = x60 + x61
1996
+ x63 = x31 * x62
1997
+ x64 = x49 * x63
1998
+ x65 = 2.0 * x52
1999
+ x66 = x39 * (x53 + x65)
2000
+ x67 = x3**2 * x8
2001
+ x68 = x17 + x25
2002
+ x69 = x0 * (x14 + x67) + x3 * x68
2003
+ x70 = x40 * x69
2004
+ x71 = x44 * x47
2005
+ x72 = x57 * x71
2006
+ x73 = x39 * x50
2007
+ x74 = 0.06666666666666667 * x56 * x63
2008
+ x75 = 2.0 * x61
2009
+ x76 = x44 * (x62 + x75)
2010
+ x77 = 3.0 * x52
2011
+ x78 = x0 * (3.0 * x51 + x77) + x39 * x66
2012
+ x79 = x10 + x67
2013
+ x80 = 2.0 * x0
2014
+ x81 = x12 * x80 + x3 * x79
2015
+ x82 = x33 * x81
2016
+ x83 = x40 * x81
2017
+ x84 = 3.0 * x61
2018
+ x85 = x0 * (3.0 * x60 + x84) + x44 * x76
2019
+ x86 = -x38 - A[1]
2020
+ x87 = 5.916079783099616 * x32
2021
+ x88 = x86 * x87
2022
+ x89 = x37 * (x28 + x29 * x4)
2023
+ x90 = x50 * x86
2024
+ x91 = x39 * x90
2025
+ x92 = x52 + x91
2026
+ x93 = x47 * x57
2027
+ x94 = x0 * (x73 + x90)
2028
+ x95 = x39 * x92
2029
+ x96 = x94 + x95
2030
+ x97 = 1.732050807568877
2031
+ x98 = x96 * x97
2032
+ x99 = 0.1111111111111111 * x31
2033
+ x100 = x22 * x99
2034
+ x101 = 0.3333333333333333 * x31
2035
+ x102 = x101 * x92
2036
+ x103 = 0.1111111111111111 * x97
2037
+ x104 = x103 * x22
2038
+ x105 = x77 + 2.0 * x91
2039
+ x106 = x0 * (x105 + x51)
2040
+ x107 = x39 * x96
2041
+ x108 = x106 + x107
2042
+ x109 = x101 * x68
2043
+ x110 = x57 * x68
2044
+ x111 = x0 * (x66 + 3.0 * x94 + 3.0 * x95) + x108 * x39
2045
+ x112 = x79 * x87
2046
+ x113 = x57 * x79
2047
+ x114 = 0.1111111111111111 * x79
2048
+ x115 = -x43 - A[2]
2049
+ x116 = x115 * x87
2050
+ x117 = x115 * x37
2051
+ x118 = x39 * x57
2052
+ x119 = x115 * x47
2053
+ x120 = x119 * x44
2054
+ x121 = x120 + x61
2055
+ x122 = x50 * x57
2056
+ x123 = x101 * x73
2057
+ x124 = x0 * (x119 + x71)
2058
+ x125 = x121 * x44
2059
+ x126 = x124 + x125
2060
+ x127 = x126 * x97
2061
+ x128 = 2.0 * x120 + x84
2062
+ x129 = x0 * (x128 + x60)
2063
+ x130 = x126 * x44
2064
+ x131 = x129 + x130
2065
+ x132 = x0 * (3.0 * x124 + 3.0 * x125 + x76) + x131 * x44
2066
+ x133 = x50 * x86**2
2067
+ x134 = x133 + x52
2068
+ x135 = x10 + x9
2069
+ x136 = x135 * x4 + x16 * x80
2070
+ x137 = x15 + x27
2071
+ x138 = x0 * (x136 + 3.0 * x17 + 3.0 * x19) + x137 * x4
2072
+ x139 = x138 * x87
2073
+ x140 = x86 * x92
2074
+ x141 = x140 + x94
2075
+ x142 = x86 * x96
2076
+ x143 = x106 + x142
2077
+ x144 = x20 * x97
2078
+ x145 = x144 * x99
2079
+ x146 = x101 * x20
2080
+ x147 = 0.1111111111111111 * x134
2081
+ x148 = 2.0 * x0 * (x140 + 2.0 * x94 + x95)
2082
+ x149 = x143 * x39
2083
+ x150 = x148 + x149
2084
+ x151 = x18 * x57
2085
+ x152 = x101 * x18
2086
+ x153 = x3 * x87
2087
+ x154 = x0 * (5.0 * x106 + 2.0 * x107 + 3.0 * x142)
2088
+ x155 = x36 * x6
2089
+ x156 = x155 * (x150 * x39 + x154)
2090
+ x157 = x155 * x3
2091
+ x158 = x103 * x12
2092
+ x159 = x12 * x57
2093
+ x160 = x12 * x87
2094
+ x161 = 10.2469507659596 * x32
2095
+ x162 = x161 * x86
2096
+ x163 = x40 * x48
2097
+ x164 = x137 * x163
2098
+ x165 = x163 * x18
2099
+ x166 = x12 * x163
2100
+ x167 = x101 * x126
2101
+ x168 = 3.141592653589793 * x1 * x34 * x6
2102
+ x169 = x168 * x3
2103
+ x170 = x115**2 * x47
2104
+ x171 = x170 + x61
2105
+ x172 = x171 * x57
2106
+ x173 = x115 * x121
2107
+ x174 = x124 + x173
2108
+ x175 = 0.1111111111111111 * x171
2109
+ x176 = x115 * x126
2110
+ x177 = x129 + x176
2111
+ x178 = 2.0 * x0 * (2.0 * x124 + x125 + x173)
2112
+ x179 = x177 * x44
2113
+ x180 = x178 + x179
2114
+ x181 = x0 * (5.0 * x129 + 2.0 * x130 + 3.0 * x176)
2115
+ x182 = x168 * (x180 * x44 + x181)
2116
+ x183 = x0 * (x11 + 3.0 * x9) + x136 * x4
2117
+ x184 = x86 * (x134 + x65)
2118
+ x185 = x184 * x33
2119
+ x186 = x0 * (x105 + x133) + x141 * x86
2120
+ x187 = x186 * x40
2121
+ x188 = x184 * x40
2122
+ x189 = x143 * x86
2123
+ x190 = x148 + x189
2124
+ x191 = x135 * x31
2125
+ x192 = x191 * x49
2126
+ x193 = x150 * x86 + x154
2127
+ x194 = x155 * x193
2128
+ x195 = x4 * x40
2129
+ x196 = x155 * x4
2130
+ x197 = x183 * x87
2131
+ x198 = x136 * x57
2132
+ x199 = x103 * x191
2133
+ x200 = x101 * x135
2134
+ x201 = x101 * x16
2135
+ x202 = x16 * x57
2136
+ x203 = x57 * x8
2137
+ x204 = x8 * x99
2138
+ x205 = x8 * x87
2139
+ x206 = x168 * x4
2140
+ x207 = x115 * (x171 + x75)
2141
+ x208 = x207 * x33
2142
+ x209 = x207 * x40
2143
+ x210 = x0 * (x128 + x170) + x115 * x174
2144
+ x211 = x210 * x40
2145
+ x212 = x115 * x177
2146
+ x213 = x178 + x212
2147
+ x214 = x115 * x180 + x181
2148
+ x215 = x168 * x214
2149
+
2150
+ # 150 item(s)
2151
+ result[0, 0] = numpy.sum(x33 * x37 * (3.0 * x0 * (x23 + x24 + 2.0 * x26) + x30 * x4))
2152
+ result[0, 1] = numpy.sum(x41 * x42)
2153
+ result[0, 2] = numpy.sum(x42 * x45)
2154
+ result[0, 3] = numpy.sum(x46 * x47 * x55)
2155
+ result[0, 4] = numpy.sum(x39 * x46 * x59)
2156
+ result[0, 5] = numpy.sum(x46 * x50 * x64)
2157
+ result[0, 6] = numpy.sum(x47 * x66 * x70)
2158
+ result[0, 7] = numpy.sum(x53 * x69 * x72)
2159
+ result[0, 8] = numpy.sum(x69 * x73 * x74)
2160
+ result[0, 9] = numpy.sum(x50 * x70 * x76)
2161
+ result[0, 10] = numpy.sum(x47 * x78 * x82)
2162
+ result[0, 11] = numpy.sum(x66 * x71 * x83)
2163
+ result[0, 12] = numpy.sum(x53 * x64 * x81)
2164
+ result[0, 13] = numpy.sum(x73 * x76 * x83)
2165
+ result[0, 14] = numpy.sum(x50 * x82 * x85)
2166
+ result[1, 0] = numpy.sum(x88 * x89)
2167
+ result[1, 1] = numpy.sum(x29 * x92 * x93)
2168
+ result[1, 2] = numpy.sum(x29 * x59 * x86)
2169
+ result[1, 3] = numpy.sum(x100 * x47 * x98)
2170
+ result[1, 4] = numpy.sum(x102 * x22 * x71)
2171
+ result[1, 5] = numpy.sum(x104 * x63 * x90)
2172
+ result[1, 6] = numpy.sum(x108 * x68 * x93)
2173
+ result[1, 7] = numpy.sum(x109 * x71 * x96)
2174
+ result[1, 8] = numpy.sum(x109 * x62 * x92)
2175
+ result[1, 9] = numpy.sum(x110 * x76 * x90)
2176
+ result[1, 10] = numpy.sum(x111 * x112 * x47)
2177
+ result[1, 11] = numpy.sum(x108 * x113 * x71)
2178
+ result[1, 12] = numpy.sum(x114 * x63 * x98)
2179
+ result[1, 13] = numpy.sum(x113 * x76 * x92)
2180
+ result[1, 14] = numpy.sum(x112 * x85 * x90)
2181
+ result[2, 0] = numpy.sum(x116 * x89)
2182
+ result[2, 1] = numpy.sum(x117 * x118 * x29)
2183
+ result[2, 2] = numpy.sum(x121 * x122 * x29)
2184
+ result[2, 3] = numpy.sum(x104 * x119 * x54)
2185
+ result[2, 4] = numpy.sum(x121 * x123 * x22)
2186
+ result[2, 5] = numpy.sum(x100 * x127 * x50)
2187
+ result[2, 6] = numpy.sum(x110 * x119 * x66)
2188
+ result[2, 7] = numpy.sum(x109 * x121 * x53)
2189
+ result[2, 8] = numpy.sum(x109 * x126 * x73)
2190
+ result[2, 9] = numpy.sum(x122 * x131 * x68)
2191
+ result[2, 10] = numpy.sum(x112 * x119 * x78)
2192
+ result[2, 11] = numpy.sum(x113 * x121 * x66)
2193
+ result[2, 12] = numpy.sum(x114 * x127 * x54)
2194
+ result[2, 13] = numpy.sum(x113 * x131 * x73)
2195
+ result[2, 14] = numpy.sum(x112 * x132 * x50)
2196
+ result[3, 0] = numpy.sum(x134 * x139 * x47)
2197
+ result[3, 1] = numpy.sum(x137 * x141 * x93)
2198
+ result[3, 2] = numpy.sum(x134 * x137 * x72)
2199
+ result[3, 3] = numpy.sum(x143 * x145 * x47)
2200
+ result[3, 4] = numpy.sum(x141 * x146 * x71)
2201
+ result[3, 5] = numpy.sum(x144 * x147 * x63)
2202
+ result[3, 6] = numpy.sum(x150 * x151 * x47)
2203
+ result[3, 7] = numpy.sum(x143 * x152 * x71)
2204
+ result[3, 8] = numpy.sum(x141 * x152 * x62)
2205
+ result[3, 9] = numpy.sum(x134 * x151 * x76)
2206
+ result[3, 10] = numpy.sum(x153 * x156)
2207
+ result[3, 11] = numpy.sum(x150 * x157 * x58)
2208
+ result[3, 12] = numpy.sum(x143 * x158 * x63)
2209
+ result[3, 13] = numpy.sum(x141 * x159 * x76)
2210
+ result[3, 14] = numpy.sum(x134 * x160 * x85)
2211
+ result[4, 0] = numpy.sum(x117 * x138 * x162)
2212
+ result[4, 1] = numpy.sum(x119 * x164 * x92)
2213
+ result[4, 2] = numpy.sum(x121 * x164 * x90)
2214
+ result[4, 3] = numpy.sum(x119 * x146 * x96)
2215
+ result[4, 4] = numpy.sum(x102 * x121 * x144)
2216
+ result[4, 5] = numpy.sum(x126 * x146 * x90)
2217
+ result[4, 6] = numpy.sum(x108 * x119 * x165)
2218
+ result[4, 7] = numpy.sum(x121 * x152 * x98)
2219
+ result[4, 8] = numpy.sum(x127 * x152 * x92)
2220
+ result[4, 9] = numpy.sum(x131 * x165 * x90)
2221
+ result[4, 10] = numpy.sum(x111 * x115 * x157 * x161)
2222
+ result[4, 11] = numpy.sum(x108 * x121 * x166)
2223
+ result[4, 12] = numpy.sum(x12 * x167 * x96)
2224
+ result[4, 13] = numpy.sum(x131 * x166 * x92)
2225
+ result[4, 14] = numpy.sum(x132 * x162 * x169)
2226
+ result[5, 0] = numpy.sum(x139 * x171 * x50)
2227
+ result[5, 1] = numpy.sum(x137 * x172 * x73)
2228
+ result[5, 2] = numpy.sum(x122 * x137 * x174)
2229
+ result[5, 3] = numpy.sum(x144 * x175 * x54)
2230
+ result[5, 4] = numpy.sum(x123 * x174 * x20)
2231
+ result[5, 5] = numpy.sum(x145 * x177 * x50)
2232
+ result[5, 6] = numpy.sum(x151 * x171 * x66)
2233
+ result[5, 7] = numpy.sum(x152 * x174 * x53)
2234
+ result[5, 8] = numpy.sum(x152 * x177 * x73)
2235
+ result[5, 9] = numpy.sum(x151 * x180 * x50)
2236
+ result[5, 10] = numpy.sum(x160 * x171 * x78)
2237
+ result[5, 11] = numpy.sum(x159 * x174 * x66)
2238
+ result[5, 12] = numpy.sum(x158 * x177 * x54)
2239
+ result[5, 13] = numpy.sum(x118 * x169 * x180)
2240
+ result[5, 14] = numpy.sum(x153 * x182)
2241
+ result[6, 0] = numpy.sum(x183 * x185 * x47)
2242
+ result[6, 1] = numpy.sum(x136 * x187 * x47)
2243
+ result[6, 2] = numpy.sum(x136 * x188 * x71)
2244
+ result[6, 3] = numpy.sum(x190 * x192 * x47)
2245
+ result[6, 4] = numpy.sum(x135 * x186 * x72)
2246
+ result[6, 5] = numpy.sum(x135 * x184 * x64)
2247
+ result[6, 6] = numpy.sum(x194 * x195)
2248
+ result[6, 7] = numpy.sum(x190 * x196 * x58)
2249
+ result[6, 8] = numpy.sum(x16 * x186 * x74)
2250
+ result[6, 9] = numpy.sum(x16 * x188 * x76)
2251
+ result[6, 10] = numpy.sum(
2252
+ x155 * x33 * (3.0 * x0 * (2.0 * x148 + x149 + x189) + x193 * x39)
2253
+ )
2254
+ result[6, 11] = numpy.sum(x194 * x45)
2255
+ result[6, 12] = numpy.sum(x190 * x64 * x8)
2256
+ result[6, 13] = numpy.sum(x187 * x76 * x8)
2257
+ result[6, 14] = numpy.sum(x185 * x8 * x85)
2258
+ result[7, 0] = numpy.sum(x119 * x134 * x197)
2259
+ result[7, 1] = numpy.sum(x119 * x141 * x198)
2260
+ result[7, 2] = numpy.sum(x121 * x134 * x198)
2261
+ result[7, 3] = numpy.sum(x119 * x143 * x199)
2262
+ result[7, 4] = numpy.sum(x121 * x141 * x200)
2263
+ result[7, 5] = numpy.sum(x127 * x147 * x191)
2264
+ result[7, 6] = numpy.sum(x115 * x150 * x196 * x57)
2265
+ result[7, 7] = numpy.sum(x121 * x143 * x201)
2266
+ result[7, 8] = numpy.sum(x141 * x16 * x167)
2267
+ result[7, 9] = numpy.sum(x131 * x134 * x202)
2268
+ result[7, 10] = numpy.sum(x116 * x156)
2269
+ result[7, 11] = numpy.sum(x121 * x150 * x203)
2270
+ result[7, 12] = numpy.sum(x127 * x143 * x204)
2271
+ result[7, 13] = numpy.sum(x131 * x141 * x203)
2272
+ result[7, 14] = numpy.sum(x132 * x134 * x205)
2273
+ result[8, 0] = numpy.sum(x171 * x197 * x90)
2274
+ result[8, 1] = numpy.sum(x171 * x198 * x92)
2275
+ result[8, 2] = numpy.sum(x174 * x198 * x90)
2276
+ result[8, 3] = numpy.sum(x175 * x191 * x98)
2277
+ result[8, 4] = numpy.sum(x174 * x200 * x92)
2278
+ result[8, 5] = numpy.sum(x177 * x199 * x90)
2279
+ result[8, 6] = numpy.sum(x108 * x16 * x172)
2280
+ result[8, 7] = numpy.sum(x174 * x201 * x96)
2281
+ result[8, 8] = numpy.sum(x102 * x16 * x177)
2282
+ result[8, 9] = numpy.sum(x180 * x206 * x57 * x86)
2283
+ result[8, 10] = numpy.sum(x111 * x171 * x205)
2284
+ result[8, 11] = numpy.sum(x108 * x174 * x203)
2285
+ result[8, 12] = numpy.sum(x177 * x204 * x98)
2286
+ result[8, 13] = numpy.sum(x180 * x203 * x92)
2287
+ result[8, 14] = numpy.sum(x182 * x88)
2288
+ result[9, 0] = numpy.sum(x183 * x208 * x50)
2289
+ result[9, 1] = numpy.sum(x136 * x209 * x73)
2290
+ result[9, 2] = numpy.sum(x136 * x211 * x50)
2291
+ result[9, 3] = numpy.sum(x135 * x207 * x55)
2292
+ result[9, 4] = numpy.sum(x135 * x210 * x57 * x73)
2293
+ result[9, 5] = numpy.sum(x192 * x213 * x50)
2294
+ result[9, 6] = numpy.sum(x16 * x209 * x66)
2295
+ result[9, 7] = numpy.sum(x202 * x210 * x53)
2296
+ result[9, 8] = numpy.sum(x118 * x206 * x213)
2297
+ result[9, 9] = numpy.sum(x195 * x215)
2298
+ result[9, 10] = numpy.sum(x208 * x78 * x8)
2299
+ result[9, 11] = numpy.sum(x211 * x66 * x8)
2300
+ result[9, 12] = numpy.sum(x213 * x55 * x8)
2301
+ result[9, 13] = numpy.sum(x215 * x41)
2302
+ result[9, 14] = numpy.sum(
2303
+ x168 * x33 * (3.0 * x0 * (2.0 * x178 + x179 + x212) + x214 * x44)
2304
+ )
2305
+ return result
2306
+
2307
+
2308
+ def ovlp3d_40(ax, da, A, bx, db, B):
2309
+ """Cartesian 3D (gs) overlap integral.
2310
+
2311
+ Generated code; DO NOT modify by hand!"""
2312
+
2313
+ result = numpy.zeros((15, 1), dtype=float)
2314
+
2315
+ x0 = 0.5 / (ax + bx)
2316
+ x1 = (ax + bx) ** (-1.0)
2317
+ x2 = x1 * (ax * A[0] + bx * B[0]) - A[0]
2318
+ x3 = ax * bx * x1
2319
+ x4 = numpy.exp(-x3 * (A[0] - B[0]) ** 2)
2320
+ x5 = 1.772453850905516 * numpy.sqrt(x1)
2321
+ x6 = x4 * x5
2322
+ x7 = x2**2 * x6
2323
+ x8 = x0 * x6
2324
+ x9 = x7 + x8
2325
+ x10 = x2 * (2.0 * x8 + x9)
2326
+ x11 = numpy.exp(-x3 * (A[1] - B[1]) ** 2)
2327
+ x12 = da * db
2328
+ x13 = numpy.exp(-x3 * (A[2] - B[2]) ** 2)
2329
+ x14 = 3.141592653589793 * x1 * x13
2330
+ x15 = x12 * x14
2331
+ x16 = x11 * x15
2332
+ x17 = 0.09759000729485332
2333
+ x18 = x1 * (ax * A[1] + bx * B[1]) - A[1]
2334
+ x19 = 0.2581988897471611
2335
+ x20 = x18 * x19
2336
+ x21 = x10 * x16
2337
+ x22 = x1 * (ax * A[2] + bx * B[2]) - A[2]
2338
+ x23 = x19 * x22
2339
+ x24 = x11 * x5
2340
+ x25 = x18**2 * x24
2341
+ x26 = x0 * x24
2342
+ x27 = x25 + x26
2343
+ x28 = x13 * x5
2344
+ x29 = 0.3333333333333333 * x12
2345
+ x30 = x29 * x9
2346
+ x31 = 1.732050807568877
2347
+ x32 = x18 * x31
2348
+ x33 = x14 * x22
2349
+ x34 = x22**2 * x28
2350
+ x35 = x0 * x28
2351
+ x36 = x34 + x35
2352
+ x37 = x2 * x4
2353
+ x38 = x19 * x37
2354
+ x39 = x18 * (2.0 * x26 + x27)
2355
+ x40 = x15 * x39
2356
+ x41 = x27 * x29
2357
+ x42 = 3.141592653589793 * x1 * x11
2358
+ x43 = x22 * (2.0 * x35 + x36)
2359
+ x44 = x12 * x42
2360
+ x45 = x43 * x44
2361
+ x46 = x17 * x4
2362
+
2363
+ # 15 item(s)
2364
+ result[0, 0] = numpy.sum(x16 * x17 * (3.0 * x0 * (x7 + x8) + x10 * x2))
2365
+ result[1, 0] = numpy.sum(x20 * x21)
2366
+ result[2, 0] = numpy.sum(x21 * x23)
2367
+ result[3, 0] = numpy.sum(x27 * x28 * x30)
2368
+ result[4, 0] = numpy.sum(x11 * x30 * x32 * x33)
2369
+ result[5, 0] = numpy.sum(x24 * x30 * x36)
2370
+ result[6, 0] = numpy.sum(x38 * x40)
2371
+ result[7, 0] = numpy.sum(x31 * x33 * x37 * x41)
2372
+ result[8, 0] = numpy.sum(x29 * x32 * x36 * x37 * x42)
2373
+ result[9, 0] = numpy.sum(x38 * x45)
2374
+ result[10, 0] = numpy.sum(x15 * x46 * (3.0 * x0 * (x25 + x26) + x18 * x39))
2375
+ result[11, 0] = numpy.sum(x23 * x4 * x40)
2376
+ result[12, 0] = numpy.sum(x36 * x41 * x6)
2377
+ result[13, 0] = numpy.sum(x20 * x4 * x45)
2378
+ result[14, 0] = numpy.sum(x44 * x46 * (3.0 * x0 * (x34 + x35) + x22 * x43))
2379
+ return result
2380
+
2381
+
2382
+ def ovlp3d_41(ax, da, A, bx, db, B):
2383
+ """Cartesian 3D (gp) overlap integral.
2384
+
2385
+ Generated code; DO NOT modify by hand!"""
2386
+
2387
+ result = numpy.zeros((15, 3), dtype=float)
2388
+
2389
+ x0 = 0.5 / (ax + bx)
2390
+ x1 = (ax + bx) ** (-1.0)
2391
+ x2 = -x1 * (ax * A[0] + bx * B[0])
2392
+ x3 = -x2 - A[0]
2393
+ x4 = ax * bx * x1
2394
+ x5 = numpy.exp(-x4 * (A[0] - B[0]) ** 2)
2395
+ x6 = 1.772453850905516 * numpy.sqrt(x1)
2396
+ x7 = x5 * x6
2397
+ x8 = x3 * x7
2398
+ x9 = -x2 - B[0]
2399
+ x10 = x7 * x9
2400
+ x11 = x0 * (x10 + x8)
2401
+ x12 = x0 * x7
2402
+ x13 = x8 * x9
2403
+ x14 = x12 + x13
2404
+ x15 = x14 * x3
2405
+ x16 = x3**2 * x7
2406
+ x17 = x12 + x16
2407
+ x18 = x3 * (2.0 * x12 + x17)
2408
+ x19 = 3.0 * x12
2409
+ x20 = x11 + x15
2410
+ x21 = x0 * (2.0 * x13 + x16 + x19) + x20 * x3
2411
+ x22 = numpy.exp(-x4 * (A[1] - B[1]) ** 2)
2412
+ x23 = da * db
2413
+ x24 = numpy.exp(-x4 * (A[2] - B[2]) ** 2)
2414
+ x25 = 3.141592653589793 * x1 * x24
2415
+ x26 = x23 * x25
2416
+ x27 = x22 * x26
2417
+ x28 = 0.09759000729485332
2418
+ x29 = x27 * x28
2419
+ x30 = -x1 * (ax * A[1] + bx * B[1])
2420
+ x31 = -x30 - B[1]
2421
+ x32 = x29 * (x0 * (3.0 * x16 + x19) + x18 * x3)
2422
+ x33 = -x1 * (ax * A[2] + bx * B[2])
2423
+ x34 = -x33 - B[2]
2424
+ x35 = -x30 - A[1]
2425
+ x36 = 0.2581988897471611
2426
+ x37 = x27 * x36
2427
+ x38 = x21 * x37
2428
+ x39 = x0 * x6
2429
+ x40 = x22 * x39
2430
+ x41 = x22 * x6
2431
+ x42 = x35 * x41
2432
+ x43 = x31 * x42
2433
+ x44 = x40 + x43
2434
+ x45 = x24 * x6
2435
+ x46 = x23 * x36
2436
+ x47 = x18 * x46
2437
+ x48 = x18 * x37
2438
+ x49 = -x33 - A[2]
2439
+ x50 = x24 * x39
2440
+ x51 = x45 * x49
2441
+ x52 = x34 * x51
2442
+ x53 = x50 + x52
2443
+ x54 = x35**2 * x41
2444
+ x55 = x40 + x54
2445
+ x56 = 0.3333333333333333 * x23
2446
+ x57 = x45 * x56
2447
+ x58 = x31 * x41
2448
+ x59 = x0 * (x42 + x58)
2449
+ x60 = x35 * x44
2450
+ x61 = x59 + x60
2451
+ x62 = x34 * x45
2452
+ x63 = x17 * x56
2453
+ x64 = 1.732050807568877
2454
+ x65 = x56 * x64
2455
+ x66 = x35 * x65
2456
+ x67 = x25 * x49
2457
+ x68 = x63 * x64
2458
+ x69 = x45 * x49**2
2459
+ x70 = x50 + x69
2460
+ x71 = x41 * x56
2461
+ x72 = x0 * (x51 + x62)
2462
+ x73 = x49 * x53
2463
+ x74 = x72 + x73
2464
+ x75 = x35 * (2.0 * x40 + x55)
2465
+ x76 = x14 * x46
2466
+ x77 = x3 * x5
2467
+ x78 = 3.0 * x40
2468
+ x79 = x0 * (2.0 * x43 + x54 + x78) + x35 * x61
2469
+ x80 = x26 * x36
2470
+ x81 = x79 * x80
2471
+ x82 = x75 * x80
2472
+ x83 = x55 * x56
2473
+ x84 = x64 * x83
2474
+ x85 = x65 * x70
2475
+ x86 = 3.141592653589793 * x1 * x22
2476
+ x87 = x77 * x86
2477
+ x88 = x49 * (2.0 * x50 + x70)
2478
+ x89 = x46 * x88
2479
+ x90 = 3.0 * x50
2480
+ x91 = x0 * (2.0 * x52 + x69 + x90) + x49 * x74
2481
+ x92 = x46 * x91
2482
+ x93 = x28 * x5
2483
+ x94 = x26 * x93
2484
+ x95 = x94 * (x0 * (3.0 * x54 + x78) + x35 * x75)
2485
+ x96 = x49 * x5
2486
+ x97 = x46 * x7
2487
+ x98 = x56 * x7
2488
+ x99 = x35 * x5 * x86
2489
+ x100 = x23 * x86 * x93
2490
+ x101 = x100 * (x0 * (3.0 * x69 + x90) + x49 * x88)
2491
+
2492
+ # 45 item(s)
2493
+ result[0, 0] = numpy.sum(x29 * (x0 * (3.0 * x11 + 3.0 * x15 + x18) + x21 * x3))
2494
+ result[0, 1] = numpy.sum(x31 * x32)
2495
+ result[0, 2] = numpy.sum(x32 * x34)
2496
+ result[1, 0] = numpy.sum(x35 * x38)
2497
+ result[1, 1] = numpy.sum(x44 * x45 * x47)
2498
+ result[1, 2] = numpy.sum(x34 * x35 * x48)
2499
+ result[2, 0] = numpy.sum(x38 * x49)
2500
+ result[2, 1] = numpy.sum(x31 * x48 * x49)
2501
+ result[2, 2] = numpy.sum(x41 * x47 * x53)
2502
+ result[3, 0] = numpy.sum(x20 * x55 * x57)
2503
+ result[3, 1] = numpy.sum(x17 * x57 * x61)
2504
+ result[3, 2] = numpy.sum(x55 * x62 * x63)
2505
+ result[4, 0] = numpy.sum(x20 * x22 * x66 * x67)
2506
+ result[4, 1] = numpy.sum(x44 * x51 * x68)
2507
+ result[4, 2] = numpy.sum(x42 * x53 * x68)
2508
+ result[5, 0] = numpy.sum(x20 * x70 * x71)
2509
+ result[5, 1] = numpy.sum(x58 * x63 * x70)
2510
+ result[5, 2] = numpy.sum(x17 * x71 * x74)
2511
+ result[6, 0] = numpy.sum(x45 * x75 * x76)
2512
+ result[6, 1] = numpy.sum(x77 * x81)
2513
+ result[6, 2] = numpy.sum(x34 * x77 * x82)
2514
+ result[7, 0] = numpy.sum(x14 * x51 * x84)
2515
+ result[7, 1] = numpy.sum(x61 * x65 * x67 * x77)
2516
+ result[7, 2] = numpy.sum(x53 * x8 * x84)
2517
+ result[8, 0] = numpy.sum(x14 * x42 * x85)
2518
+ result[8, 1] = numpy.sum(x44 * x8 * x85)
2519
+ result[8, 2] = numpy.sum(x66 * x74 * x87)
2520
+ result[9, 0] = numpy.sum(x41 * x76 * x88)
2521
+ result[9, 1] = numpy.sum(x31 * x87 * x89)
2522
+ result[9, 2] = numpy.sum(x87 * x92)
2523
+ result[10, 0] = numpy.sum(x9 * x95)
2524
+ result[10, 1] = numpy.sum(x94 * (x0 * (3.0 * x59 + 3.0 * x60 + x75) + x35 * x79))
2525
+ result[10, 2] = numpy.sum(x34 * x95)
2526
+ result[11, 0] = numpy.sum(x82 * x9 * x96)
2527
+ result[11, 1] = numpy.sum(x81 * x96)
2528
+ result[11, 2] = numpy.sum(x53 * x75 * x97)
2529
+ result[12, 0] = numpy.sum(x10 * x70 * x83)
2530
+ result[12, 1] = numpy.sum(x61 * x70 * x98)
2531
+ result[12, 2] = numpy.sum(x55 * x74 * x98)
2532
+ result[13, 0] = numpy.sum(x89 * x9 * x99)
2533
+ result[13, 1] = numpy.sum(x44 * x88 * x97)
2534
+ result[13, 2] = numpy.sum(x92 * x99)
2535
+ result[14, 0] = numpy.sum(x101 * x9)
2536
+ result[14, 1] = numpy.sum(x101 * x31)
2537
+ result[14, 2] = numpy.sum(x100 * (x0 * (3.0 * x72 + 3.0 * x73 + x88) + x49 * x91))
2538
+ return result
2539
+
2540
+
2541
+ def ovlp3d_42(ax, da, A, bx, db, B):
2542
+ """Cartesian 3D (gd) overlap integral.
2543
+
2544
+ Generated code; DO NOT modify by hand!"""
2545
+
2546
+ result = numpy.zeros((15, 6), dtype=float)
2547
+
2548
+ x0 = 0.5 / (ax + bx)
2549
+ x1 = (ax + bx) ** (-1.0)
2550
+ x2 = -x1 * (ax * A[0] + bx * B[0])
2551
+ x3 = -x2 - A[0]
2552
+ x4 = ax * bx * x1
2553
+ x5 = numpy.exp(-x4 * (A[0] - B[0]) ** 2)
2554
+ x6 = 1.772453850905516 * numpy.sqrt(x1)
2555
+ x7 = x5 * x6
2556
+ x8 = x3**2 * x7
2557
+ x9 = x0 * x7
2558
+ x10 = 3.0 * x9
2559
+ x11 = -x2 - B[0]
2560
+ x12 = x3 * x7
2561
+ x13 = x11 * x12
2562
+ x14 = x10 + 2.0 * x13
2563
+ x15 = x0 * (x14 + x8)
2564
+ x16 = x11 * x7
2565
+ x17 = x0 * (x12 + x16)
2566
+ x18 = x13 + x9
2567
+ x19 = x18 * x3
2568
+ x20 = x17 + x19
2569
+ x21 = x20 * x3
2570
+ x22 = x11**2 * x7
2571
+ x23 = x0 * (x14 + x22)
2572
+ x24 = x11 * x18
2573
+ x25 = x17 + x24
2574
+ x26 = x25 * x3
2575
+ x27 = x23 + x26
2576
+ x28 = 2.0 * x0 * (2.0 * x17 + x19 + x24) + x27 * x3
2577
+ x29 = da * db
2578
+ x30 = 0.0563436169819011
2579
+ x31 = x29 * x30
2580
+ x32 = numpy.exp(-x4 * (A[1] - B[1]) ** 2)
2581
+ x33 = numpy.exp(-x4 * (A[2] - B[2]) ** 2)
2582
+ x34 = 3.141592653589793 * x1 * x33
2583
+ x35 = x32 * x34
2584
+ x36 = -x1 * (ax * A[1] + bx * B[1])
2585
+ x37 = -x36 - B[1]
2586
+ x38 = 0.09759000729485332
2587
+ x39 = x37 * x38
2588
+ x40 = x8 + x9
2589
+ x41 = 2.0 * x0 * x12 + x3 * x40
2590
+ x42 = x15 + x21
2591
+ x43 = x29 * x35
2592
+ x44 = x43 * (x0 * (3.0 * x17 + 3.0 * x19 + x41) + x3 * x42)
2593
+ x45 = -x1 * (ax * A[2] + bx * B[2])
2594
+ x46 = -x45 - B[2]
2595
+ x47 = x38 * x46
2596
+ x48 = x32 * x6
2597
+ x49 = x37**2 * x48
2598
+ x50 = x0 * x48
2599
+ x51 = x49 + x50
2600
+ x52 = x0 * (x10 + 3.0 * x8) + x3 * x41
2601
+ x53 = x33 * x6
2602
+ x54 = x29 * x53
2603
+ x55 = x30 * x54
2604
+ x56 = x46**2 * x53
2605
+ x57 = x0 * x53
2606
+ x58 = x56 + x57
2607
+ x59 = x31 * x58
2608
+ x60 = -x36 - A[1]
2609
+ x61 = 2.23606797749979
2610
+ x62 = 0.06666666666666667 * x29
2611
+ x63 = x61 * x62
2612
+ x64 = x60 * x63
2613
+ x65 = x28 * x35
2614
+ x66 = x48 * x60
2615
+ x67 = x37 * x66
2616
+ x68 = x50 + x67
2617
+ x69 = 0.06666666666666667 * x54
2618
+ x70 = 3.872983346207417
2619
+ x71 = x42 * x70
2620
+ x72 = x35 * x62 * x71
2621
+ x73 = x37 * x48
2622
+ x74 = x0 * (x66 + x73)
2623
+ x75 = x37 * x68
2624
+ x76 = x74 + x75
2625
+ x77 = x41 * x61
2626
+ x78 = x46 * x53
2627
+ x79 = x62 * x78
2628
+ x80 = x41 * x70
2629
+ x81 = x62 * x77
2630
+ x82 = -x45 - A[2]
2631
+ x83 = x63 * x82
2632
+ x84 = x53 * x82
2633
+ x85 = x46 * x84
2634
+ x86 = x57 + x85
2635
+ x87 = x48 * x62
2636
+ x88 = x62 * x73
2637
+ x89 = x0 * (x78 + x84)
2638
+ x90 = x46 * x86
2639
+ x91 = x89 + x90
2640
+ x92 = x48 * x60**2
2641
+ x93 = x50 + x92
2642
+ x94 = 1.732050807568877 * x29
2643
+ x95 = 0.1111111111111111 * x93 * x94
2644
+ x96 = x60 * x68
2645
+ x97 = x74 + x96
2646
+ x98 = 0.3333333333333333 * x20
2647
+ x99 = x29 * x78
2648
+ x100 = 3.0 * x50
2649
+ x101 = x100 + 2.0 * x67
2650
+ x102 = x0 * (x101 + x49)
2651
+ x103 = x60 * x76
2652
+ x104 = x102 + x103
2653
+ x105 = x40 * x94
2654
+ x106 = 0.1111111111111111 * x105
2655
+ x107 = 0.3333333333333333 * x97
2656
+ x108 = 0.3333333333333333 * x82
2657
+ x109 = x68 * x94
2658
+ x110 = 0.3333333333333333 * x86
2659
+ x111 = x110 * x94
2660
+ x112 = 0.3333333333333333 * x40
2661
+ x113 = x29 * x76
2662
+ x114 = x29 * x91
2663
+ x115 = x53 * x82**2
2664
+ x116 = x115 + x57
2665
+ x117 = 0.1111111111111111 * x116 * x94
2666
+ x118 = 0.3333333333333333 * x116
2667
+ x119 = x118 * x29
2668
+ x120 = x82 * x86
2669
+ x121 = x120 + x89
2670
+ x122 = x121 * x29
2671
+ x123 = 3.0 * x57
2672
+ x124 = x123 + 2.0 * x85
2673
+ x125 = x0 * (x124 + x56)
2674
+ x126 = x82 * x91
2675
+ x127 = x125 + x126
2676
+ x128 = x60 * (2.0 * x50 + x93)
2677
+ x129 = x25 * x61
2678
+ x130 = x0 * (x101 + x92)
2679
+ x131 = x60 * x97
2680
+ x132 = x130 + x131
2681
+ x133 = x18 * x70
2682
+ x134 = 2.0 * x0 * (2.0 * x74 + x75 + x96) + x104 * x60
2683
+ x135 = x3 * x5
2684
+ x136 = x135 * x34
2685
+ x137 = x62 * x70
2686
+ x138 = x132 * x137
2687
+ x139 = x12 * x63
2688
+ x140 = 0.3333333333333333 * x93
2689
+ x141 = x18 * x94
2690
+ x142 = 0.3333333333333333 * x121
2691
+ x143 = 3.141592653589793 * x1 * x32
2692
+ x144 = x135 * x143
2693
+ x145 = x82 * (x116 + 2.0 * x57)
2694
+ x146 = x0 * (x115 + x124)
2695
+ x147 = x121 * x82
2696
+ x148 = x146 + x147
2697
+ x149 = x137 * x148
2698
+ x150 = 2.0 * x0 * (x120 + 2.0 * x89 + x90) + x127 * x82
2699
+ x151 = x22 + x9
2700
+ x152 = x0 * (x100 + 3.0 * x92) + x128 * x60
2701
+ x153 = x34 * x5
2702
+ x154 = x11 * x153
2703
+ x155 = x29 * (x0 * (x128 + 3.0 * x74 + 3.0 * x96) + x132 * x60)
2704
+ x156 = x31 * x5
2705
+ x157 = x151 * x63
2706
+ x158 = x137 * x16
2707
+ x159 = x62 * x7
2708
+ x160 = x159 * x70
2709
+ x161 = x159 * x61
2710
+ x162 = x143 * x5
2711
+ x163 = x11 * x162
2712
+ x164 = x0 * (3.0 * x115 + x123) + x145 * x82
2713
+ x165 = x164 * x31
2714
+ x166 = x29 * (x0 * (3.0 * x120 + x145 + 3.0 * x89) + x148 * x82)
2715
+
2716
+ # 90 item(s)
2717
+ result[0, 0] = numpy.sum(
2718
+ x31 * x35 * (x0 * (2.0 * x15 + 2.0 * x21 + 3.0 * x23 + 3.0 * x26) + x28 * x3)
2719
+ )
2720
+ result[0, 1] = numpy.sum(x39 * x44)
2721
+ result[0, 2] = numpy.sum(x44 * x47)
2722
+ result[0, 3] = numpy.sum(x51 * x52 * x55)
2723
+ result[0, 4] = numpy.sum(x39 * x43 * x46 * x52)
2724
+ result[0, 5] = numpy.sum(x48 * x52 * x59)
2725
+ result[1, 0] = numpy.sum(x64 * x65)
2726
+ result[1, 1] = numpy.sum(x68 * x69 * x71)
2727
+ result[1, 2] = numpy.sum(x46 * x60 * x72)
2728
+ result[1, 3] = numpy.sum(x69 * x76 * x77)
2729
+ result[1, 4] = numpy.sum(x68 * x79 * x80)
2730
+ result[1, 5] = numpy.sum(x58 * x66 * x81)
2731
+ result[2, 0] = numpy.sum(x65 * x83)
2732
+ result[2, 1] = numpy.sum(x37 * x72 * x82)
2733
+ result[2, 2] = numpy.sum(x71 * x86 * x87)
2734
+ result[2, 3] = numpy.sum(x51 * x81 * x84)
2735
+ result[2, 4] = numpy.sum(x80 * x86 * x88)
2736
+ result[2, 5] = numpy.sum(x77 * x87 * x91)
2737
+ result[3, 0] = numpy.sum(x27 * x53 * x95)
2738
+ result[3, 1] = numpy.sum(x54 * x97 * x98)
2739
+ result[3, 2] = numpy.sum(x93 * x98 * x99)
2740
+ result[3, 3] = numpy.sum(x104 * x106 * x53)
2741
+ result[3, 4] = numpy.sum(x107 * x40 * x99)
2742
+ result[3, 5] = numpy.sum(x106 * x58 * x93)
2743
+ result[4, 0] = numpy.sum(x108 * x27 * x43 * x60)
2744
+ result[4, 1] = numpy.sum(x109 * x84 * x98)
2745
+ result[4, 2] = numpy.sum(x111 * x20 * x66)
2746
+ result[4, 3] = numpy.sum(x112 * x113 * x84)
2747
+ result[4, 4] = numpy.sum(x105 * x110 * x68)
2748
+ result[4, 5] = numpy.sum(x112 * x114 * x66)
2749
+ result[5, 0] = numpy.sum(x117 * x27 * x48)
2750
+ result[5, 1] = numpy.sum(x119 * x20 * x73)
2751
+ result[5, 2] = numpy.sum(x122 * x48 * x98)
2752
+ result[5, 3] = numpy.sum(x106 * x116 * x51)
2753
+ result[5, 4] = numpy.sum(x112 * x122 * x73)
2754
+ result[5, 5] = numpy.sum(x106 * x127 * x48)
2755
+ result[6, 0] = numpy.sum(x128 * x129 * x69)
2756
+ result[6, 1] = numpy.sum(x132 * x133 * x69)
2757
+ result[6, 2] = numpy.sum(x128 * x133 * x79)
2758
+ result[6, 3] = numpy.sum(x134 * x136 * x63)
2759
+ result[6, 4] = numpy.sum(x136 * x138 * x46)
2760
+ result[6, 5] = numpy.sum(x128 * x139 * x58)
2761
+ result[7, 0] = numpy.sum(x140 * x25 * x29 * x84)
2762
+ result[7, 1] = numpy.sum(x107 * x141 * x84)
2763
+ result[7, 2] = numpy.sum(x110 * x141 * x93)
2764
+ result[7, 3] = numpy.sum(x104 * x108 * x136 * x29)
2765
+ result[7, 4] = numpy.sum(x111 * x12 * x97)
2766
+ result[7, 5] = numpy.sum(x114 * x12 * x140)
2767
+ result[8, 0] = numpy.sum(x119 * x25 * x66)
2768
+ result[8, 1] = numpy.sum(x118 * x141 * x68)
2769
+ result[8, 2] = numpy.sum(x141 * x142 * x66)
2770
+ result[8, 3] = numpy.sum(x113 * x118 * x12)
2771
+ result[8, 4] = numpy.sum(x109 * x12 * x142)
2772
+ result[8, 5] = numpy.sum(0.3333333333333333 * x127 * x144 * x29 * x60)
2773
+ result[9, 0] = numpy.sum(x129 * x145 * x87)
2774
+ result[9, 1] = numpy.sum(x133 * x145 * x88)
2775
+ result[9, 2] = numpy.sum(x133 * x148 * x87)
2776
+ result[9, 3] = numpy.sum(x139 * x145 * x51)
2777
+ result[9, 4] = numpy.sum(x144 * x149 * x37)
2778
+ result[9, 5] = numpy.sum(x144 * x150 * x63)
2779
+ result[10, 0] = numpy.sum(x151 * x152 * x55)
2780
+ result[10, 1] = numpy.sum(x154 * x155 * x38)
2781
+ result[10, 2] = numpy.sum(x152 * x154 * x29 * x47)
2782
+ result[10, 3] = numpy.sum(
2783
+ x156
2784
+ * x34
2785
+ * (x0 * (3.0 * x102 + 3.0 * x103 + 2.0 * x130 + 2.0 * x131) + x134 * x60)
2786
+ )
2787
+ result[10, 4] = numpy.sum(x153 * x155 * x47)
2788
+ result[10, 5] = numpy.sum(x152 * x59 * x7)
2789
+ result[11, 0] = numpy.sum(x128 * x157 * x84)
2790
+ result[11, 1] = numpy.sum(x138 * x154 * x82)
2791
+ result[11, 2] = numpy.sum(x128 * x158 * x86)
2792
+ result[11, 3] = numpy.sum(x134 * x153 * x83)
2793
+ result[11, 4] = numpy.sum(x132 * x160 * x86)
2794
+ result[11, 5] = numpy.sum(x128 * x161 * x91)
2795
+ result[12, 0] = numpy.sum(x116 * x151 * x95)
2796
+ result[12, 1] = numpy.sum(x119 * x16 * x97)
2797
+ result[12, 2] = numpy.sum(x122 * x140 * x16)
2798
+ result[12, 3] = numpy.sum(x104 * x117 * x7)
2799
+ result[12, 4] = numpy.sum(x107 * x122 * x7)
2800
+ result[12, 5] = numpy.sum(x127 * x7 * x95)
2801
+ result[13, 0] = numpy.sum(x145 * x157 * x66)
2802
+ result[13, 1] = numpy.sum(x145 * x158 * x68)
2803
+ result[13, 2] = numpy.sum(x149 * x163 * x60)
2804
+ result[13, 3] = numpy.sum(x145 * x161 * x76)
2805
+ result[13, 4] = numpy.sum(x148 * x160 * x68)
2806
+ result[13, 5] = numpy.sum(x150 * x162 * x64)
2807
+ result[14, 0] = numpy.sum(x151 * x165 * x48)
2808
+ result[14, 1] = numpy.sum(x163 * x164 * x29 * x39)
2809
+ result[14, 2] = numpy.sum(x163 * x166 * x38)
2810
+ result[14, 3] = numpy.sum(x165 * x51 * x7)
2811
+ result[14, 4] = numpy.sum(x162 * x166 * x39)
2812
+ result[14, 5] = numpy.sum(
2813
+ x143
2814
+ * x156
2815
+ * (x0 * (3.0 * x125 + 3.0 * x126 + 2.0 * x146 + 2.0 * x147) + x150 * x82)
2816
+ )
2817
+ return result
2818
+
2819
+
2820
+ def ovlp3d_43(ax, da, A, bx, db, B):
2821
+ """Cartesian 3D (gf) overlap integral.
2822
+
2823
+ Generated code; DO NOT modify by hand!"""
2824
+
2825
+ result = numpy.zeros((15, 10), dtype=float)
2826
+
2827
+ x0 = 0.5 / (ax + bx)
2828
+ x1 = (ax + bx) ** (-1.0)
2829
+ x2 = -x1 * (ax * A[0] + bx * B[0])
2830
+ x3 = -x2 - A[0]
2831
+ x4 = -x2 - B[0]
2832
+ x5 = ax * bx * x1
2833
+ x6 = numpy.exp(-x5 * (A[0] - B[0]) ** 2)
2834
+ x7 = 1.772453850905516 * numpy.sqrt(x1)
2835
+ x8 = x6 * x7
2836
+ x9 = x4**2 * x8
2837
+ x10 = x0 * x8
2838
+ x11 = 3.0 * x10
2839
+ x12 = x3 * x8
2840
+ x13 = x12 * x4
2841
+ x14 = x11 + 2.0 * x13
2842
+ x15 = x0 * (x14 + x9)
2843
+ x16 = x4 * x8
2844
+ x17 = x0 * (x12 + x16)
2845
+ x18 = x10 + x13
2846
+ x19 = x18 * x4
2847
+ x20 = x17 + x19
2848
+ x21 = x20 * x3
2849
+ x22 = x15 + x21
2850
+ x23 = x22 * x3
2851
+ x24 = x22 * x4
2852
+ x25 = x18 * x3
2853
+ x26 = 2.0 * x0 * (2.0 * x17 + x19 + x25)
2854
+ x27 = x20 * x4
2855
+ x28 = 3.0 * x21
2856
+ x29 = x24 + x26
2857
+ x30 = x0 * (5.0 * x15 + 2.0 * x27 + x28) + x29 * x3
2858
+ x31 = da * db
2859
+ x32 = 0.009523809523809524 * x31
2860
+ x33 = 2.645751311064591 * x32
2861
+ x34 = numpy.exp(-x5 * (A[1] - B[1]) ** 2)
2862
+ x35 = numpy.exp(-x5 * (A[2] - B[2]) ** 2)
2863
+ x36 = 3.141592653589793 * x1 * x35
2864
+ x37 = x34 * x36
2865
+ x38 = -x1 * (ax * A[1] + bx * B[1])
2866
+ x39 = -x38 - B[1]
2867
+ x40 = x37 * x39
2868
+ x41 = x3**2 * x8
2869
+ x42 = x0 * (x14 + x41)
2870
+ x43 = x17 + x25
2871
+ x44 = x3 * x43
2872
+ x45 = x23 + x26
2873
+ x46 = 5.916079783099616
2874
+ x47 = x32 * x46
2875
+ x48 = x47 * (x0 * (3.0 * x15 + x28 + 2.0 * x42 + 2.0 * x44) + x3 * x45)
2876
+ x49 = -x1 * (ax * A[2] + bx * B[2])
2877
+ x50 = -x49 - B[2]
2878
+ x51 = x37 * x50
2879
+ x52 = x34 * x7
2880
+ x53 = x39**2 * x52
2881
+ x54 = x0 * x52
2882
+ x55 = x53 + x54
2883
+ x56 = x31 * x55
2884
+ x57 = x35 * x7
2885
+ x58 = x46 * x57
2886
+ x59 = x10 + x41
2887
+ x60 = 2.0 * x0
2888
+ x61 = x12 * x60 + x3 * x59
2889
+ x62 = x42 + x44
2890
+ x63 = x0 * (3.0 * x17 + 3.0 * x25 + x61) + x3 * x62
2891
+ x64 = 0.009523809523809524 * x63
2892
+ x65 = 10.2469507659596 * x32
2893
+ x66 = x50 * x65
2894
+ x67 = x50**2 * x57
2895
+ x68 = x0 * x57
2896
+ x69 = x67 + x68
2897
+ x70 = x31 * x69
2898
+ x71 = x46 * x70
2899
+ x72 = 2.0 * x54
2900
+ x73 = x39 * (x55 + x72)
2901
+ x74 = x0 * (x11 + 3.0 * x41) + x3 * x61
2902
+ x75 = x33 * x74
2903
+ x76 = 0.009523809523809524 * x74
2904
+ x77 = x50 * x57
2905
+ x78 = x46 * x77
2906
+ x79 = x39 * x52
2907
+ x80 = 2.0 * x68
2908
+ x81 = x50 * (x69 + x80)
2909
+ x82 = -x38 - A[1]
2910
+ x83 = 0.06666666666666667 * x31
2911
+ x84 = x82 * x83
2912
+ x85 = x30 * x37
2913
+ x86 = x52 * x82
2914
+ x87 = x39 * x86
2915
+ x88 = x54 + x87
2916
+ x89 = 0.149071198499986
2917
+ x90 = x31 * x89
2918
+ x91 = x57 * x90
2919
+ x92 = x45 * x90
2920
+ x93 = x0 * (x79 + x86)
2921
+ x94 = x39 * x88
2922
+ x95 = x93 + x94
2923
+ x96 = 3.872983346207417
2924
+ x97 = x83 * x96
2925
+ x98 = x62 * x97
2926
+ x99 = x62 * x89
2927
+ x100 = 0.06666666666666667 * x57
2928
+ x101 = 3.0 * x54
2929
+ x102 = x101 + 2.0 * x87
2930
+ x103 = x0 * (x102 + x53)
2931
+ x104 = x39 * x95
2932
+ x105 = x103 + x104
2933
+ x106 = x105 * x31
2934
+ x107 = x61 * x89
2935
+ x108 = x107 * x31
2936
+ x109 = x61 * x83
2937
+ x110 = -x49 - A[2]
2938
+ x111 = x110 * x83
2939
+ x112 = x110 * x57
2940
+ x113 = x112 * x50
2941
+ x114 = x113 + x68
2942
+ x115 = x52 * x90
2943
+ x116 = x0 * (x112 + x77)
2944
+ x117 = x114 * x50
2945
+ x118 = x116 + x117
2946
+ x119 = 0.06666666666666667 * x52
2947
+ x120 = 3.0 * x68
2948
+ x121 = 2.0 * x113 + x120
2949
+ x122 = x0 * (x121 + x67)
2950
+ x123 = x118 * x50
2951
+ x124 = x122 + x123
2952
+ x125 = x124 * x31
2953
+ x126 = x52 * x82**2
2954
+ x127 = x126 + x54
2955
+ x128 = x127 * x31
2956
+ x129 = 0.02222222222222222 * x96
2957
+ x130 = x128 * x129
2958
+ x131 = x82 * x88
2959
+ x132 = x131 + x93
2960
+ x133 = x31 * x57
2961
+ x134 = 1.732050807568877
2962
+ x135 = 0.1111111111111111 * x134
2963
+ x136 = x135 * x22
2964
+ x137 = x82 * x95
2965
+ x138 = x103 + x137
2966
+ x139 = x134 * x43
2967
+ x140 = 0.1111111111111111 * x139
2968
+ x141 = 0.3333333333333333 * x31
2969
+ x142 = x141 * x43
2970
+ x143 = 0.1111111111111111 * x70
2971
+ x144 = 2.0 * x0 * (x131 + 2.0 * x93 + x94)
2972
+ x145 = x138 * x39
2973
+ x146 = x144 + x145
2974
+ x147 = x129 * x59
2975
+ x148 = x138 * x31
2976
+ x149 = x134 * x59
2977
+ x150 = 0.1111111111111111 * x149
2978
+ x151 = x110 * x90
2979
+ x152 = x141 * x88
2980
+ x153 = x114 * x141
2981
+ x154 = x59 * x89
2982
+ x155 = x141 * x59
2983
+ x156 = x110**2 * x57
2984
+ x157 = x156 + x68
2985
+ x158 = x157 * x31
2986
+ x159 = x129 * x158
2987
+ x160 = x110 * x114
2988
+ x161 = x116 + x160
2989
+ x162 = x31 * x52
2990
+ x163 = 0.1111111111111111 * x56
2991
+ x164 = x110 * x118
2992
+ x165 = x122 + x164
2993
+ x166 = x165 * x31
2994
+ x167 = 2.0 * x0 * (2.0 * x116 + x117 + x160)
2995
+ x168 = x165 * x50
2996
+ x169 = x167 + x168
2997
+ x170 = x15 + x27
2998
+ x171 = x82 * (x127 + x72)
2999
+ x172 = x171 * x31
3000
+ x173 = x0 * (x102 + x126)
3001
+ x174 = x132 * x82
3002
+ x175 = x173 + x174
3003
+ x176 = x20 * x89
3004
+ x177 = x138 * x82
3005
+ x178 = x144 + x177
3006
+ x179 = x18 * x89
3007
+ x180 = x18 * x97
3008
+ x181 = x3 * x83
3009
+ x182 = 3.0 * x137
3010
+ x183 = x0 * (5.0 * x103 + 2.0 * x104 + x182) + x146 * x82
3011
+ x184 = x36 * x6
3012
+ x185 = x183 * x184
3013
+ x186 = x184 * x3
3014
+ x187 = x12 * x89
3015
+ x188 = 0.06666666666666667 * x12
3016
+ x189 = x170 * x89
3017
+ x190 = x112 * x141
3018
+ x191 = x127 * x141
3019
+ x192 = x134 * x18
3020
+ x193 = x12 * x141
3021
+ x194 = x141 * x157
3022
+ x195 = x141 * x86
3023
+ x196 = 3.141592653589793 * x1 * x34 * x6
3024
+ x197 = x196 * x3 * x90
3025
+ x198 = x110 * (x157 + x80)
3026
+ x199 = x198 * x31
3027
+ x200 = x0 * (x121 + x156)
3028
+ x201 = x110 * x161
3029
+ x202 = x200 + x201
3030
+ x203 = x110 * x165
3031
+ x204 = x167 + x203
3032
+ x205 = 3.0 * x164
3033
+ x206 = x0 * (5.0 * x122 + 2.0 * x123 + x205) + x110 * x169
3034
+ x207 = x196 * x206
3035
+ x208 = x10 + x9
3036
+ x209 = x16 * x60 + x208 * x4
3037
+ x210 = x0 * (x101 + 3.0 * x126) + x171 * x82
3038
+ x211 = x210 * x33
3039
+ x212 = x0 * (3.0 * x131 + x171 + 3.0 * x93) + x175 * x82
3040
+ x213 = x208 * x32
3041
+ x214 = x4 * x47
3042
+ x215 = x184 * (x0 * (3.0 * x103 + 2.0 * x173 + 2.0 * x174 + x182) + x178 * x82)
3043
+ x216 = x184 * x4
3044
+ x217 = 0.009523809523809524 * x16
3045
+ x218 = 0.009523809523809524 * x8
3046
+ x219 = 0.06666666666666667 * x209
3047
+ x220 = x208 * x89
3048
+ x221 = x220 * x31
3049
+ x222 = x16 * x97
3050
+ x223 = x16 * x89
3051
+ x224 = x8 * x90
3052
+ x225 = 0.06666666666666667 * x8
3053
+ x226 = x135 * x208
3054
+ x227 = x135 * x16
3055
+ x228 = x135 * x8
3056
+ x229 = x196 * x4
3057
+ x230 = x0 * (x120 + 3.0 * x156) + x110 * x198
3058
+ x231 = x230 * x33
3059
+ x232 = x230 * x46
3060
+ x233 = x0 * (3.0 * x116 + 3.0 * x160 + x198) + x110 * x202
3061
+ x234 = x233 * x46
3062
+ x235 = x196 * (x0 * (3.0 * x122 + 2.0 * x200 + 2.0 * x201 + x205) + x110 * x204)
3063
+
3064
+ # 150 item(s)
3065
+ result[0, 0] = numpy.sum(x33 * x37 * (3.0 * x0 * (x23 + x24 + 2.0 * x26) + x3 * x30))
3066
+ result[0, 1] = numpy.sum(x40 * x48)
3067
+ result[0, 2] = numpy.sum(x48 * x51)
3068
+ result[0, 3] = numpy.sum(x56 * x58 * x64)
3069
+ result[0, 4] = numpy.sum(x40 * x63 * x66)
3070
+ result[0, 5] = numpy.sum(x52 * x64 * x71)
3071
+ result[0, 6] = numpy.sum(x57 * x73 * x75)
3072
+ result[0, 7] = numpy.sum(x56 * x76 * x78)
3073
+ result[0, 8] = numpy.sum(x71 * x76 * x79)
3074
+ result[0, 9] = numpy.sum(x52 * x75 * x81)
3075
+ result[1, 0] = numpy.sum(x84 * x85)
3076
+ result[1, 1] = numpy.sum(x45 * x88 * x91)
3077
+ result[1, 2] = numpy.sum(x51 * x82 * x92)
3078
+ result[1, 3] = numpy.sum(x62 * x91 * x95)
3079
+ result[1, 4] = numpy.sum(x77 * x88 * x98)
3080
+ result[1, 5] = numpy.sum(x70 * x86 * x99)
3081
+ result[1, 6] = numpy.sum(x100 * x106 * x61)
3082
+ result[1, 7] = numpy.sum(x108 * x77 * x95)
3083
+ result[1, 8] = numpy.sum(x107 * x70 * x88)
3084
+ result[1, 9] = numpy.sum(x109 * x81 * x86)
3085
+ result[2, 0] = numpy.sum(x111 * x85)
3086
+ result[2, 1] = numpy.sum(x110 * x40 * x92)
3087
+ result[2, 2] = numpy.sum(x114 * x115 * x45)
3088
+ result[2, 3] = numpy.sum(x112 * x56 * x99)
3089
+ result[2, 4] = numpy.sum(x114 * x79 * x98)
3090
+ result[2, 5] = numpy.sum(x115 * x118 * x62)
3091
+ result[2, 6] = numpy.sum(x109 * x112 * x73)
3092
+ result[2, 7] = numpy.sum(x107 * x114 * x56)
3093
+ result[2, 8] = numpy.sum(x108 * x118 * x79)
3094
+ result[2, 9] = numpy.sum(x119 * x125 * x61)
3095
+ result[3, 0] = numpy.sum(x130 * x29 * x57)
3096
+ result[3, 1] = numpy.sum(x132 * x133 * x136)
3097
+ result[3, 2] = numpy.sum(x128 * x136 * x77)
3098
+ result[3, 3] = numpy.sum(x133 * x138 * x140)
3099
+ result[3, 4] = numpy.sum(x132 * x142 * x77)
3100
+ result[3, 5] = numpy.sum(x127 * x139 * x143)
3101
+ result[3, 6] = numpy.sum(x133 * x146 * x147)
3102
+ result[3, 7] = numpy.sum(x148 * x150 * x77)
3103
+ result[3, 8] = numpy.sum(x132 * x143 * x149)
3104
+ result[3, 9] = numpy.sum(x128 * x147 * x81)
3105
+ result[4, 0] = numpy.sum(x151 * x29 * x37 * x82)
3106
+ result[4, 1] = numpy.sum(x112 * x152 * x22)
3107
+ result[4, 2] = numpy.sum(x153 * x22 * x86)
3108
+ result[4, 3] = numpy.sum(x112 * x142 * x95)
3109
+ result[4, 4] = numpy.sum(x139 * x153 * x88)
3110
+ result[4, 5] = numpy.sum(x118 * x142 * x86)
3111
+ result[4, 6] = numpy.sum(x106 * x112 * x154)
3112
+ result[4, 7] = numpy.sum(x114 * x155 * x95)
3113
+ result[4, 8] = numpy.sum(x118 * x155 * x88)
3114
+ result[4, 9] = numpy.sum(x125 * x154 * x86)
3115
+ result[5, 0] = numpy.sum(x159 * x29 * x52)
3116
+ result[5, 1] = numpy.sum(x136 * x158 * x79)
3117
+ result[5, 2] = numpy.sum(x136 * x161 * x162)
3118
+ result[5, 3] = numpy.sum(x139 * x157 * x163)
3119
+ result[5, 4] = numpy.sum(x142 * x161 * x79)
3120
+ result[5, 5] = numpy.sum(x140 * x162 * x165)
3121
+ result[5, 6] = numpy.sum(x147 * x158 * x73)
3122
+ result[5, 7] = numpy.sum(x149 * x161 * x163)
3123
+ result[5, 8] = numpy.sum(x150 * x166 * x79)
3124
+ result[5, 9] = numpy.sum(x147 * x162 * x169)
3125
+ result[6, 0] = numpy.sum(x100 * x170 * x172)
3126
+ result[6, 1] = numpy.sum(x175 * x20 * x91)
3127
+ result[6, 2] = numpy.sum(x172 * x176 * x77)
3128
+ result[6, 3] = numpy.sum(x133 * x178 * x179)
3129
+ result[6, 4] = numpy.sum(x175 * x180 * x77)
3130
+ result[6, 5] = numpy.sum(x171 * x179 * x70)
3131
+ result[6, 6] = numpy.sum(x181 * x185)
3132
+ result[6, 7] = numpy.sum(x178 * x186 * x50 * x90)
3133
+ result[6, 8] = numpy.sum(x175 * x187 * x70)
3134
+ result[6, 9] = numpy.sum(x172 * x188 * x81)
3135
+ result[7, 0] = numpy.sum(x112 * x128 * x189)
3136
+ result[7, 1] = numpy.sum(x132 * x190 * x20)
3137
+ result[7, 2] = numpy.sum(x114 * x191 * x20)
3138
+ result[7, 3] = numpy.sum(x138 * x18 * x190)
3139
+ result[7, 4] = numpy.sum(x132 * x153 * x192)
3140
+ result[7, 5] = numpy.sum(x118 * x18 * x191)
3141
+ result[7, 6] = numpy.sum(x146 * x151 * x186)
3142
+ result[7, 7] = numpy.sum(x12 * x138 * x153)
3143
+ result[7, 8] = numpy.sum(x118 * x132 * x193)
3144
+ result[7, 9] = numpy.sum(x124 * x128 * x187)
3145
+ result[8, 0] = numpy.sum(x158 * x189 * x86)
3146
+ result[8, 1] = numpy.sum(x194 * x20 * x88)
3147
+ result[8, 2] = numpy.sum(x161 * x195 * x20)
3148
+ result[8, 3] = numpy.sum(x18 * x194 * x95)
3149
+ result[8, 4] = numpy.sum(x152 * x161 * x192)
3150
+ result[8, 5] = numpy.sum(x165 * x18 * x195)
3151
+ result[8, 6] = numpy.sum(x105 * x158 * x187)
3152
+ result[8, 7] = numpy.sum(x161 * x193 * x95)
3153
+ result[8, 8] = numpy.sum(x12 * x152 * x165)
3154
+ result[8, 9] = numpy.sum(x169 * x197 * x82)
3155
+ result[9, 0] = numpy.sum(x119 * x170 * x199)
3156
+ result[9, 1] = numpy.sum(x176 * x199 * x79)
3157
+ result[9, 2] = numpy.sum(x115 * x20 * x202)
3158
+ result[9, 3] = numpy.sum(x179 * x198 * x56)
3159
+ result[9, 4] = numpy.sum(x180 * x202 * x79)
3160
+ result[9, 5] = numpy.sum(x162 * x179 * x204)
3161
+ result[9, 6] = numpy.sum(x188 * x199 * x73)
3162
+ result[9, 7] = numpy.sum(x187 * x202 * x56)
3163
+ result[9, 8] = numpy.sum(x197 * x204 * x39)
3164
+ result[9, 9] = numpy.sum(x181 * x207)
3165
+ result[10, 0] = numpy.sum(x209 * x211 * x57)
3166
+ result[10, 1] = numpy.sum(x212 * x213 * x58)
3167
+ result[10, 2] = numpy.sum(x210 * x213 * x78)
3168
+ result[10, 3] = numpy.sum(x214 * x215)
3169
+ result[10, 4] = numpy.sum(x212 * x216 * x66)
3170
+ result[10, 5] = numpy.sum(x210 * x217 * x71)
3171
+ result[10, 6] = numpy.sum(
3172
+ x184 * x33 * (3.0 * x0 * (2.0 * x144 + x145 + x177) + x183 * x82)
3173
+ )
3174
+ result[10, 7] = numpy.sum(x215 * x47 * x50)
3175
+ result[10, 8] = numpy.sum(x212 * x218 * x71)
3176
+ result[10, 9] = numpy.sum(x211 * x8 * x81)
3177
+ result[11, 0] = numpy.sum(x112 * x172 * x219)
3178
+ result[11, 1] = numpy.sum(x112 * x175 * x221)
3179
+ result[11, 2] = numpy.sum(x114 * x172 * x220)
3180
+ result[11, 3] = numpy.sum(x151 * x178 * x216)
3181
+ result[11, 4] = numpy.sum(x114 * x175 * x222)
3182
+ result[11, 5] = numpy.sum(x118 * x172 * x223)
3183
+ result[11, 6] = numpy.sum(x111 * x185)
3184
+ result[11, 7] = numpy.sum(x114 * x178 * x224)
3185
+ result[11, 8] = numpy.sum(x118 * x175 * x224)
3186
+ result[11, 9] = numpy.sum(x124 * x172 * x225)
3187
+ result[12, 0] = numpy.sum(x130 * x157 * x209)
3188
+ result[12, 1] = numpy.sum(x132 * x158 * x226)
3189
+ result[12, 2] = numpy.sum(x128 * x161 * x226)
3190
+ result[12, 3] = numpy.sum(x138 * x158 * x227)
3191
+ result[12, 4] = numpy.sum(x132 * x141 * x16 * x161)
3192
+ result[12, 5] = numpy.sum(x128 * x165 * x227)
3193
+ result[12, 6] = numpy.sum(x146 * x159 * x8)
3194
+ result[12, 7] = numpy.sum(x148 * x161 * x228)
3195
+ result[12, 8] = numpy.sum(x132 * x166 * x228)
3196
+ result[12, 9] = numpy.sum(x130 * x169 * x8)
3197
+ result[13, 0] = numpy.sum(x199 * x219 * x86)
3198
+ result[13, 1] = numpy.sum(x199 * x220 * x88)
3199
+ result[13, 2] = numpy.sum(x202 * x221 * x86)
3200
+ result[13, 3] = numpy.sum(x199 * x223 * x95)
3201
+ result[13, 4] = numpy.sum(x202 * x222 * x88)
3202
+ result[13, 5] = numpy.sum(x204 * x229 * x82 * x90)
3203
+ result[13, 6] = numpy.sum(x105 * x199 * x225)
3204
+ result[13, 7] = numpy.sum(x202 * x224 * x95)
3205
+ result[13, 8] = numpy.sum(x204 * x224 * x88)
3206
+ result[13, 9] = numpy.sum(x207 * x84)
3207
+ result[14, 0] = numpy.sum(x209 * x231 * x52)
3208
+ result[14, 1] = numpy.sum(x213 * x232 * x79)
3209
+ result[14, 2] = numpy.sum(x213 * x234 * x52)
3210
+ result[14, 3] = numpy.sum(x217 * x232 * x56)
3211
+ result[14, 4] = numpy.sum(x229 * x233 * x39 * x65)
3212
+ result[14, 5] = numpy.sum(x214 * x235)
3213
+ result[14, 6] = numpy.sum(x231 * x73 * x8)
3214
+ result[14, 7] = numpy.sum(x218 * x234 * x56)
3215
+ result[14, 8] = numpy.sum(x235 * x39 * x47)
3216
+ result[14, 9] = numpy.sum(
3217
+ x196 * x33 * (3.0 * x0 * (2.0 * x167 + x168 + x203) + x110 * x206)
3218
+ )
3219
+ return result
3220
+
3221
+
3222
+ def ovlp3d_44(ax, da, A, bx, db, B):
3223
+ """Cartesian 3D (gg) overlap integral.
3224
+
3225
+ Generated code; DO NOT modify by hand!"""
3226
+
3227
+ result = numpy.zeros((15, 15), dtype=float)
3228
+
3229
+ x0 = 0.5 / (ax + bx)
3230
+ x1 = (ax + bx) ** (-1.0)
3231
+ x2 = -x1 * (ax * A[0] + bx * B[0])
3232
+ x3 = -x2 - B[0]
3233
+ x4 = -x2 - A[0]
3234
+ x5 = ax * bx * x1
3235
+ x6 = numpy.exp(-x5 * (A[0] - B[0]) ** 2)
3236
+ x7 = 1.772453850905516 * numpy.sqrt(x1)
3237
+ x8 = x6 * x7
3238
+ x9 = x0 * x8
3239
+ x10 = x4 * x8
3240
+ x11 = x10 * x3
3241
+ x12 = x11 + x9
3242
+ x13 = x12 * x4
3243
+ x14 = x12 * x3
3244
+ x15 = x3 * x8
3245
+ x16 = x0 * (x10 + x15)
3246
+ x17 = 2.0 * x0 * (x13 + x14 + 2.0 * x16)
3247
+ x18 = x3**2 * x8
3248
+ x19 = 3.0 * x9
3249
+ x20 = 2.0 * x11 + x19
3250
+ x21 = x0 * (x18 + x20)
3251
+ x22 = x14 + x16
3252
+ x23 = x22 * x4
3253
+ x24 = x21 + x23
3254
+ x25 = x24 * x3
3255
+ x26 = x17 + x25
3256
+ x27 = x26 * x3
3257
+ x28 = x26 * x4
3258
+ x29 = x22 * x3
3259
+ x30 = 3.0 * x23
3260
+ x31 = x0 * (5.0 * x21 + 2.0 * x29 + x30)
3261
+ x32 = x24 * x4
3262
+ x33 = 3.0 * x0 * (2.0 * x17 + x25 + x32)
3263
+ x34 = x28 + x31
3264
+ x35 = x3 * x34 + x33
3265
+ x36 = numpy.exp(-x5 * (A[1] - B[1]) ** 2)
3266
+ x37 = da * db
3267
+ x38 = 0.009523809523809524 * x37
3268
+ x39 = numpy.exp(-x5 * (A[2] - B[2]) ** 2)
3269
+ x40 = 3.141592653589793 * x1 * x39
3270
+ x41 = x38 * x40
3271
+ x42 = x36 * x41
3272
+ x43 = -x1 * (ax * A[1] + bx * B[1])
3273
+ x44 = -x43 - B[1]
3274
+ x45 = 2.645751311064591
3275
+ x46 = x42 * x45
3276
+ x47 = x46 * (x33 + x34 * x4)
3277
+ x48 = -x1 * (ax * A[2] + bx * B[2])
3278
+ x49 = -x48 - B[2]
3279
+ x50 = x4**2 * x8
3280
+ x51 = x0 * (x20 + x50)
3281
+ x52 = x13 + x16
3282
+ x53 = x4 * x52
3283
+ x54 = x17 + x32
3284
+ x55 = x0 * (3.0 * x21 + x30 + 2.0 * x51 + 2.0 * x53) + x4 * x54
3285
+ x56 = x39 * x7
3286
+ x57 = 0.03253000243161777
3287
+ x58 = x36 * x7
3288
+ x59 = x44**2 * x58
3289
+ x60 = x0 * x58
3290
+ x61 = x59 + x60
3291
+ x62 = x37 * x61
3292
+ x63 = x57 * x62
3293
+ x64 = 5.916079783099616
3294
+ x65 = x42 * x64
3295
+ x66 = x49**2 * x56
3296
+ x67 = x0 * x56
3297
+ x68 = x66 + x67
3298
+ x69 = x37 * x68
3299
+ x70 = x57 * x69
3300
+ x71 = 2.0 * x60
3301
+ x72 = x44 * (x61 + x71)
3302
+ x73 = 3.0 * x16
3303
+ x74 = x50 + x9
3304
+ x75 = 2.0 * x9
3305
+ x76 = x4 * (x74 + x75)
3306
+ x77 = x51 + x53
3307
+ x78 = x0 * (3.0 * x13 + x73 + x76) + x4 * x77
3308
+ x79 = x38 * x45
3309
+ x80 = x78 * x79
3310
+ x81 = x49 * x56
3311
+ x82 = 0.009523809523809524 * x64
3312
+ x83 = x78 * x82
3313
+ x84 = x44 * x58
3314
+ x85 = 2.0 * x67
3315
+ x86 = x49 * (x68 + x85)
3316
+ x87 = 3.0 * x60
3317
+ x88 = x0 * (3.0 * x59 + x87) + x44 * x72
3318
+ x89 = x0 * (x19 + 3.0 * x50) + x4 * x76
3319
+ x90 = x38 * x89
3320
+ x91 = x45 * x90
3321
+ x92 = 3.0 * x67
3322
+ x93 = x0 * (3.0 * x66 + x92) + x49 * x86
3323
+ x94 = -x43 - A[1]
3324
+ x95 = x35 * x46
3325
+ x96 = x58 * x94
3326
+ x97 = x44 * x96
3327
+ x98 = x60 + x97
3328
+ x99 = x37 * x98
3329
+ x100 = 0.06666666666666667 * x56
3330
+ x101 = 0.06666666666666667 * x37
3331
+ x102 = x101 * x40
3332
+ x103 = x102 * x49
3333
+ x104 = x34 * x36
3334
+ x105 = x0 * (x84 + x96)
3335
+ x106 = x44 * x98
3336
+ x107 = x105 + x106
3337
+ x108 = 0.08606629658238704
3338
+ x109 = x108 * x37
3339
+ x110 = x109 * x54
3340
+ x111 = 0.149071198499986
3341
+ x112 = x111 * x54
3342
+ x113 = x108 * x54
3343
+ x114 = x87 + 2.0 * x97
3344
+ x115 = x0 * (x114 + x59)
3345
+ x116 = x107 * x44
3346
+ x117 = x115 + x116
3347
+ x118 = x37 * x77
3348
+ x119 = x111 * x77
3349
+ x120 = x119 * x37
3350
+ x121 = 0.06666666666666667 * x118
3351
+ x122 = 3.0 * x105
3352
+ x123 = x0 * (3.0 * x106 + x122 + x72) + x117 * x44
3353
+ x124 = x76 * x79
3354
+ x125 = 0.06666666666666667 * x76
3355
+ x126 = x125 * x37
3356
+ x127 = x108 * x76
3357
+ x128 = -x48 - A[2]
3358
+ x129 = x102 * x128
3359
+ x130 = x128 * x56
3360
+ x131 = x130 * x49
3361
+ x132 = x131 + x67
3362
+ x133 = x132 * x37
3363
+ x134 = 0.06666666666666667 * x58
3364
+ x135 = x0 * (x130 + x81)
3365
+ x136 = x132 * x49
3366
+ x137 = x135 + x136
3367
+ x138 = 2.0 * x131 + x92
3368
+ x139 = x0 * (x138 + x66)
3369
+ x140 = x137 * x49
3370
+ x141 = x139 + x140
3371
+ x142 = 3.0 * x135
3372
+ x143 = x0 * (3.0 * x136 + x142 + x86) + x141 * x49
3373
+ x144 = x27 + x31
3374
+ x145 = x58 * x94**2
3375
+ x146 = x145 + x60
3376
+ x147 = x146 * x37
3377
+ x148 = x147 * x57
3378
+ x149 = x94 * x98
3379
+ x150 = x105 + x149
3380
+ x151 = x109 * x56
3381
+ x152 = x108 * x81
3382
+ x153 = x107 * x94
3383
+ x154 = x115 + x153
3384
+ x155 = 0.1111111111111111 * x37
3385
+ x156 = x155 * x24
3386
+ x157 = 1.732050807568877
3387
+ x158 = x155 * x157
3388
+ x159 = x158 * x24
3389
+ x160 = x155 * x68
3390
+ x161 = 2.0 * x0 * (2.0 * x105 + x106 + x149)
3391
+ x162 = x154 * x44
3392
+ x163 = x161 + x162
3393
+ x164 = x157 * x52
3394
+ x165 = x154 * x155
3395
+ x166 = x108 * x86
3396
+ x167 = 3.0 * x153
3397
+ x168 = x0 * (5.0 * x115 + 2.0 * x116 + x167)
3398
+ x169 = x163 * x44
3399
+ x170 = x168 + x169
3400
+ x171 = x37 * x74
3401
+ x172 = x171 * x57
3402
+ x173 = x111 * x26
3403
+ x174 = x107 * x158
3404
+ x175 = 0.3333333333333333 * x99
3405
+ x176 = x137 * x158
3406
+ x177 = x111 * x37
3407
+ x178 = x177 * x52
3408
+ x179 = 0.3333333333333333 * x133
3409
+ x180 = x171 * x82
3410
+ x181 = x111 * x74
3411
+ x182 = x128**2 * x56
3412
+ x183 = x182 + x67
3413
+ x184 = x183 * x37
3414
+ x185 = x184 * x57
3415
+ x186 = x108 * x84
3416
+ x187 = x128 * x132
3417
+ x188 = x135 + x187
3418
+ x189 = x109 * x58
3419
+ x190 = x155 * x61
3420
+ x191 = x128 * x137
3421
+ x192 = x139 + x191
3422
+ x193 = x108 * x72
3423
+ x194 = 2.0 * x0 * (2.0 * x135 + x136 + x187)
3424
+ x195 = x192 * x49
3425
+ x196 = x194 + x195
3426
+ x197 = 3.0 * x191
3427
+ x198 = x0 * (5.0 * x139 + 2.0 * x140 + x197)
3428
+ x199 = x196 * x49
3429
+ x200 = x198 + x199
3430
+ x201 = x94 * (x146 + x71)
3431
+ x202 = x18 + x9
3432
+ x203 = x3 * (x202 + x75)
3433
+ x204 = x21 + x29
3434
+ x205 = x0 * (3.0 * x14 + x203 + x73) + x204 * x3
3435
+ x206 = x205 * x79
3436
+ x207 = x0 * (x114 + x145)
3437
+ x208 = x150 * x94
3438
+ x209 = x207 + x208
3439
+ x210 = x204 * x37
3440
+ x211 = 0.06666666666666667 * x201
3441
+ x212 = x154 * x94
3442
+ x213 = x161 + x212
3443
+ x214 = x108 * x22
3444
+ x215 = x214 * x37
3445
+ x216 = x177 * x22
3446
+ x217 = x163 * x94
3447
+ x218 = x168 + x217
3448
+ x219 = x12 * x37
3449
+ x220 = x111 * x219
3450
+ x221 = x4 * x45
3451
+ x222 = 3.0 * x0 * (2.0 * x161 + x162 + x212)
3452
+ x223 = x218 * x44 + x222
3453
+ x224 = x41 * x6
3454
+ x225 = x223 * x224
3455
+ x226 = x218 * x6
3456
+ x227 = x10 * x108
3457
+ x228 = x10 * x101
3458
+ x229 = x10 * x79
3459
+ x230 = x147 * x82
3460
+ x231 = x111 * x204
3461
+ x232 = x231 * x37
3462
+ x233 = x158 * x22
3463
+ x234 = 0.3333333333333333 * x219
3464
+ x235 = x4 * x64
3465
+ x236 = x10 * x111
3466
+ x237 = x10 * x177
3467
+ x238 = x184 * x82
3468
+ x239 = 3.141592653589793 * x1 * x36 * x6
3469
+ x240 = x239 * x38
3470
+ x241 = x128 * (x183 + x85)
3471
+ x242 = 0.06666666666666667 * x241
3472
+ x243 = x0 * (x138 + x182)
3473
+ x244 = x128 * x188
3474
+ x245 = x243 + x244
3475
+ x246 = x128 * x192
3476
+ x247 = x194 + x246
3477
+ x248 = x128 * x196
3478
+ x249 = x198 + x248
3479
+ x250 = x101 * x239 * x249
3480
+ x251 = 3.0 * x0 * (2.0 * x194 + x195 + x246)
3481
+ x252 = x249 * x49 + x251
3482
+ x253 = x240 * x252
3483
+ x254 = x0 * (3.0 * x18 + x19) + x203 * x3
3484
+ x255 = x0 * (3.0 * x145 + x87) + x201 * x94
3485
+ x256 = x255 * x38
3486
+ x257 = x0 * (x122 + 3.0 * x149 + x201) + x209 * x94
3487
+ x258 = x257 * x79
3488
+ x259 = x256 * x45
3489
+ x260 = x0 * (3.0 * x115 + x167 + 2.0 * x207 + 2.0 * x208) + x213 * x94
3490
+ x261 = x202 * x37 * x57
3491
+ x262 = x202 * x38 * x64
3492
+ x263 = x3 * x45
3493
+ x264 = x224 * (x218 * x94 + x222)
3494
+ x265 = x3 * x64
3495
+ x266 = x15 * x82
3496
+ x267 = x254 * x79
3497
+ x268 = x101 * x203
3498
+ x269 = x109 * x202
3499
+ x270 = x111 * x202
3500
+ x271 = x111 * x15
3501
+ x272 = x15 * x37
3502
+ x273 = x111 * x272
3503
+ x274 = 0.06666666666666667 * x8
3504
+ x275 = x109 * x8
3505
+ x276 = x274 * x37
3506
+ x277 = x79 * x8
3507
+ x278 = x108 * x203
3508
+ x279 = x155 * x202
3509
+ x280 = x108 * x15
3510
+ x281 = x15 * x158
3511
+ x282 = x0 * (3.0 * x182 + x92) + x128 * x241
3512
+ x283 = x282 * x38
3513
+ x284 = x283 * x45
3514
+ x285 = x0 * (x142 + 3.0 * x187 + x241) + x128 * x245
3515
+ x286 = x0 * (3.0 * x139 + x197 + 2.0 * x243 + 2.0 * x244) + x128 * x247
3516
+ x287 = x240 * (x128 * x249 + x251)
3517
+
3518
+ # 225 item(s)
3519
+ result[0, 0] = numpy.sum(x42 * (x0 * (3.0 * x27 + 4.0 * x28 + 7.0 * x31) + x35 * x4))
3520
+ result[0, 1] = numpy.sum(x44 * x47)
3521
+ result[0, 2] = numpy.sum(x47 * x49)
3522
+ result[0, 3] = numpy.sum(x55 * x56 * x63)
3523
+ result[0, 4] = numpy.sum(x44 * x49 * x55 * x65)
3524
+ result[0, 5] = numpy.sum(x55 * x58 * x70)
3525
+ result[0, 6] = numpy.sum(x56 * x72 * x80)
3526
+ result[0, 7] = numpy.sum(x62 * x81 * x83)
3527
+ result[0, 8] = numpy.sum(x69 * x83 * x84)
3528
+ result[0, 9] = numpy.sum(x58 * x80 * x86)
3529
+ result[0, 10] = numpy.sum(x56 * x88 * x90)
3530
+ result[0, 11] = numpy.sum(x72 * x81 * x91)
3531
+ result[0, 12] = numpy.sum(x61 * x70 * x89)
3532
+ result[0, 13] = numpy.sum(x84 * x86 * x91)
3533
+ result[0, 14] = numpy.sum(x58 * x90 * x93)
3534
+ result[1, 0] = numpy.sum(x94 * x95)
3535
+ result[1, 1] = numpy.sum(x100 * x34 * x99)
3536
+ result[1, 2] = numpy.sum(x103 * x104 * x94)
3537
+ result[1, 3] = numpy.sum(x107 * x110 * x56)
3538
+ result[1, 4] = numpy.sum(x112 * x81 * x99)
3539
+ result[1, 5] = numpy.sum(x113 * x69 * x96)
3540
+ result[1, 6] = numpy.sum(x100 * x117 * x118)
3541
+ result[1, 7] = numpy.sum(x107 * x120 * x81)
3542
+ result[1, 8] = numpy.sum(x119 * x68 * x99)
3543
+ result[1, 9] = numpy.sum(x121 * x86 * x96)
3544
+ result[1, 10] = numpy.sum(x123 * x124 * x56)
3545
+ result[1, 11] = numpy.sum(x117 * x126 * x81)
3546
+ result[1, 12] = numpy.sum(x107 * x127 * x69)
3547
+ result[1, 13] = numpy.sum(x125 * x86 * x99)
3548
+ result[1, 14] = numpy.sum(x124 * x93 * x96)
3549
+ result[2, 0] = numpy.sum(x128 * x95)
3550
+ result[2, 1] = numpy.sum(x104 * x129 * x44)
3551
+ result[2, 2] = numpy.sum(x133 * x134 * x34)
3552
+ result[2, 3] = numpy.sum(x113 * x130 * x62)
3553
+ result[2, 4] = numpy.sum(x112 * x133 * x84)
3554
+ result[2, 5] = numpy.sum(x110 * x137 * x58)
3555
+ result[2, 6] = numpy.sum(x121 * x130 * x72)
3556
+ result[2, 7] = numpy.sum(x119 * x133 * x61)
3557
+ result[2, 8] = numpy.sum(x120 * x137 * x84)
3558
+ result[2, 9] = numpy.sum(x118 * x134 * x141)
3559
+ result[2, 10] = numpy.sum(x124 * x130 * x88)
3560
+ result[2, 11] = numpy.sum(x125 * x133 * x72)
3561
+ result[2, 12] = numpy.sum(x127 * x137 * x62)
3562
+ result[2, 13] = numpy.sum(x126 * x141 * x84)
3563
+ result[2, 14] = numpy.sum(x124 * x143 * x58)
3564
+ result[3, 0] = numpy.sum(x144 * x148 * x56)
3565
+ result[3, 1] = numpy.sum(x150 * x151 * x26)
3566
+ result[3, 2] = numpy.sum(x147 * x152 * x26)
3567
+ result[3, 3] = numpy.sum(x154 * x156 * x56)
3568
+ result[3, 4] = numpy.sum(x150 * x159 * x81)
3569
+ result[3, 5] = numpy.sum(x146 * x160 * x24)
3570
+ result[3, 6] = numpy.sum(x151 * x163 * x52)
3571
+ result[3, 7] = numpy.sum(x164 * x165 * x81)
3572
+ result[3, 8] = numpy.sum(x150 * x160 * x164)
3573
+ result[3, 9] = numpy.sum(x147 * x166 * x52)
3574
+ result[3, 10] = numpy.sum(x170 * x172 * x56)
3575
+ result[3, 11] = numpy.sum(x152 * x163 * x171)
3576
+ result[3, 12] = numpy.sum(x154 * x160 * x74)
3577
+ result[3, 13] = numpy.sum(x150 * x166 * x171)
3578
+ result[3, 14] = numpy.sum(x148 * x74 * x93)
3579
+ result[4, 0] = numpy.sum(x128 * x144 * x65 * x94)
3580
+ result[4, 1] = numpy.sum(x130 * x173 * x99)
3581
+ result[4, 2] = numpy.sum(x133 * x173 * x96)
3582
+ result[4, 3] = numpy.sum(x130 * x174 * x24)
3583
+ result[4, 4] = numpy.sum(x132 * x175 * x24)
3584
+ result[4, 5] = numpy.sum(x176 * x24 * x96)
3585
+ result[4, 6] = numpy.sum(x117 * x130 * x178)
3586
+ result[4, 7] = numpy.sum(x107 * x179 * x52)
3587
+ result[4, 8] = numpy.sum(x137 * x175 * x52)
3588
+ result[4, 9] = numpy.sum(x141 * x178 * x96)
3589
+ result[4, 10] = numpy.sum(x123 * x130 * x180)
3590
+ result[4, 11] = numpy.sum(x117 * x133 * x181)
3591
+ result[4, 12] = numpy.sum(x107 * x176 * x74)
3592
+ result[4, 13] = numpy.sum(x141 * x181 * x99)
3593
+ result[4, 14] = numpy.sum(x143 * x180 * x96)
3594
+ result[5, 0] = numpy.sum(x144 * x185 * x58)
3595
+ result[5, 1] = numpy.sum(x184 * x186 * x26)
3596
+ result[5, 2] = numpy.sum(x188 * x189 * x26)
3597
+ result[5, 3] = numpy.sum(x183 * x190 * x24)
3598
+ result[5, 4] = numpy.sum(x159 * x188 * x84)
3599
+ result[5, 5] = numpy.sum(x156 * x192 * x58)
3600
+ result[5, 6] = numpy.sum(x184 * x193 * x52)
3601
+ result[5, 7] = numpy.sum(x164 * x188 * x190)
3602
+ result[5, 8] = numpy.sum(x155 * x164 * x192 * x84)
3603
+ result[5, 9] = numpy.sum(x189 * x196 * x52)
3604
+ result[5, 10] = numpy.sum(x172 * x183 * x88)
3605
+ result[5, 11] = numpy.sum(x171 * x188 * x193)
3606
+ result[5, 12] = numpy.sum(x190 * x192 * x74)
3607
+ result[5, 13] = numpy.sum(x171 * x186 * x196)
3608
+ result[5, 14] = numpy.sum(x172 * x200 * x58)
3609
+ result[6, 0] = numpy.sum(x201 * x206 * x56)
3610
+ result[6, 1] = numpy.sum(x100 * x209 * x210)
3611
+ result[6, 2] = numpy.sum(x210 * x211 * x81)
3612
+ result[6, 3] = numpy.sum(x213 * x215 * x56)
3613
+ result[6, 4] = numpy.sum(x209 * x216 * x81)
3614
+ result[6, 5] = numpy.sum(x201 * x214 * x69)
3615
+ result[6, 6] = numpy.sum(x100 * x218 * x219)
3616
+ result[6, 7] = numpy.sum(x213 * x220 * x81)
3617
+ result[6, 8] = numpy.sum(x209 * x220 * x68)
3618
+ result[6, 9] = numpy.sum(x211 * x219 * x86)
3619
+ result[6, 10] = numpy.sum(x221 * x225)
3620
+ result[6, 11] = numpy.sum(x103 * x226 * x4)
3621
+ result[6, 12] = numpy.sum(x213 * x227 * x69)
3622
+ result[6, 13] = numpy.sum(x209 * x228 * x86)
3623
+ result[6, 14] = numpy.sum(x201 * x229 * x93)
3624
+ result[7, 0] = numpy.sum(x130 * x205 * x230)
3625
+ result[7, 1] = numpy.sum(x130 * x150 * x232)
3626
+ result[7, 2] = numpy.sum(x133 * x146 * x231)
3627
+ result[7, 3] = numpy.sum(x130 * x154 * x233)
3628
+ result[7, 4] = numpy.sum(x150 * x179 * x22)
3629
+ result[7, 5] = numpy.sum(x146 * x176 * x22)
3630
+ result[7, 6] = numpy.sum(x130 * x163 * x220)
3631
+ result[7, 7] = numpy.sum(x12 * x154 * x179)
3632
+ result[7, 8] = numpy.sum(x137 * x150 * x234)
3633
+ result[7, 9] = numpy.sum(x141 * x146 * x220)
3634
+ result[7, 10] = numpy.sum(x128 * x170 * x224 * x235)
3635
+ result[7, 11] = numpy.sum(x133 * x163 * x236)
3636
+ result[7, 12] = numpy.sum(x10 * x154 * x176)
3637
+ result[7, 13] = numpy.sum(x141 * x150 * x237)
3638
+ result[7, 14] = numpy.sum(x10 * x143 * x230)
3639
+ result[8, 0] = numpy.sum(x205 * x238 * x96)
3640
+ result[8, 1] = numpy.sum(x183 * x231 * x99)
3641
+ result[8, 2] = numpy.sum(x188 * x232 * x96)
3642
+ result[8, 3] = numpy.sum(x174 * x183 * x22)
3643
+ result[8, 4] = numpy.sum(x175 * x188 * x22)
3644
+ result[8, 5] = numpy.sum(x192 * x233 * x96)
3645
+ result[8, 6] = numpy.sum(x117 * x183 * x220)
3646
+ result[8, 7] = numpy.sum(x107 * x188 * x234)
3647
+ result[8, 8] = numpy.sum(x12 * x175 * x192)
3648
+ result[8, 9] = numpy.sum(x196 * x220 * x96)
3649
+ result[8, 10] = numpy.sum(x10 * x123 * x238)
3650
+ result[8, 11] = numpy.sum(x117 * x188 * x237)
3651
+ result[8, 12] = numpy.sum(x10 * x174 * x192)
3652
+ result[8, 13] = numpy.sum(x196 * x236 * x99)
3653
+ result[8, 14] = numpy.sum(x200 * x235 * x240 * x94)
3654
+ result[9, 0] = numpy.sum(x206 * x241 * x58)
3655
+ result[9, 1] = numpy.sum(x210 * x242 * x84)
3656
+ result[9, 2] = numpy.sum(x134 * x210 * x245)
3657
+ result[9, 3] = numpy.sum(x214 * x241 * x62)
3658
+ result[9, 4] = numpy.sum(x216 * x245 * x84)
3659
+ result[9, 5] = numpy.sum(x215 * x247 * x58)
3660
+ result[9, 6] = numpy.sum(x219 * x242 * x72)
3661
+ result[9, 7] = numpy.sum(x220 * x245 * x61)
3662
+ result[9, 8] = numpy.sum(x220 * x247 * x84)
3663
+ result[9, 9] = numpy.sum(x134 * x219 * x249)
3664
+ result[9, 10] = numpy.sum(x229 * x241 * x88)
3665
+ result[9, 11] = numpy.sum(x228 * x245 * x72)
3666
+ result[9, 12] = numpy.sum(x227 * x247 * x62)
3667
+ result[9, 13] = numpy.sum(x250 * x4 * x44)
3668
+ result[9, 14] = numpy.sum(x221 * x253)
3669
+ result[10, 0] = numpy.sum(x254 * x256 * x56)
3670
+ result[10, 1] = numpy.sum(x203 * x258 * x56)
3671
+ result[10, 2] = numpy.sum(x203 * x259 * x81)
3672
+ result[10, 3] = numpy.sum(x260 * x261 * x56)
3673
+ result[10, 4] = numpy.sum(x257 * x262 * x81)
3674
+ result[10, 5] = numpy.sum(x202 * x255 * x70)
3675
+ result[10, 6] = numpy.sum(x263 * x264)
3676
+ result[10, 7] = numpy.sum(x224 * x260 * x265 * x49)
3677
+ result[10, 8] = numpy.sum(x257 * x266 * x69)
3678
+ result[10, 9] = numpy.sum(x15 * x259 * x86)
3679
+ result[10, 10] = numpy.sum(
3680
+ x224 * (x0 * (7.0 * x168 + 3.0 * x169 + 4.0 * x217) + x223 * x94)
3681
+ )
3682
+ result[10, 11] = numpy.sum(x264 * x45 * x49)
3683
+ result[10, 12] = numpy.sum(x260 * x70 * x8)
3684
+ result[10, 13] = numpy.sum(x258 * x8 * x86)
3685
+ result[10, 14] = numpy.sum(x256 * x8 * x93)
3686
+ result[11, 0] = numpy.sum(x130 * x201 * x267)
3687
+ result[11, 1] = numpy.sum(x130 * x209 * x268)
3688
+ result[11, 2] = numpy.sum(x133 * x203 * x211)
3689
+ result[11, 3] = numpy.sum(x130 * x213 * x269)
3690
+ result[11, 4] = numpy.sum(x133 * x209 * x270)
3691
+ result[11, 5] = numpy.sum(x137 * x201 * x269)
3692
+ result[11, 6] = numpy.sum(x129 * x226 * x3)
3693
+ result[11, 7] = numpy.sum(x133 * x213 * x271)
3694
+ result[11, 8] = numpy.sum(x137 * x209 * x273)
3695
+ result[11, 9] = numpy.sum(x141 * x211 * x272)
3696
+ result[11, 10] = numpy.sum(x128 * x225 * x45)
3697
+ result[11, 11] = numpy.sum(x133 * x218 * x274)
3698
+ result[11, 12] = numpy.sum(x137 * x213 * x275)
3699
+ result[11, 13] = numpy.sum(x141 * x209 * x276)
3700
+ result[11, 14] = numpy.sum(x143 * x201 * x277)
3701
+ result[12, 0] = numpy.sum(x148 * x183 * x254)
3702
+ result[12, 1] = numpy.sum(x150 * x184 * x278)
3703
+ result[12, 2] = numpy.sum(x147 * x188 * x278)
3704
+ result[12, 3] = numpy.sum(x154 * x183 * x279)
3705
+ result[12, 4] = numpy.sum(x150 * x157 * x188 * x279)
3706
+ result[12, 5] = numpy.sum(x146 * x192 * x279)
3707
+ result[12, 6] = numpy.sum(x163 * x184 * x280)
3708
+ result[12, 7] = numpy.sum(x154 * x188 * x281)
3709
+ result[12, 8] = numpy.sum(x150 * x192 * x281)
3710
+ result[12, 9] = numpy.sum(x147 * x196 * x280)
3711
+ result[12, 10] = numpy.sum(x170 * x185 * x8)
3712
+ result[12, 11] = numpy.sum(x163 * x188 * x275)
3713
+ result[12, 12] = numpy.sum(x165 * x192 * x8)
3714
+ result[12, 13] = numpy.sum(x150 * x196 * x275)
3715
+ result[12, 14] = numpy.sum(x148 * x200 * x8)
3716
+ result[13, 0] = numpy.sum(x241 * x267 * x96)
3717
+ result[13, 1] = numpy.sum(x203 * x242 * x99)
3718
+ result[13, 2] = numpy.sum(x245 * x268 * x96)
3719
+ result[13, 3] = numpy.sum(x107 * x241 * x269)
3720
+ result[13, 4] = numpy.sum(x245 * x270 * x99)
3721
+ result[13, 5] = numpy.sum(x247 * x269 * x96)
3722
+ result[13, 6] = numpy.sum(x117 * x242 * x272)
3723
+ result[13, 7] = numpy.sum(x107 * x245 * x273)
3724
+ result[13, 8] = numpy.sum(x247 * x271 * x99)
3725
+ result[13, 9] = numpy.sum(x250 * x3 * x94)
3726
+ result[13, 10] = numpy.sum(x123 * x241 * x277)
3727
+ result[13, 11] = numpy.sum(x117 * x245 * x276)
3728
+ result[13, 12] = numpy.sum(x107 * x247 * x275)
3729
+ result[13, 13] = numpy.sum(x249 * x274 * x99)
3730
+ result[13, 14] = numpy.sum(x253 * x45 * x94)
3731
+ result[14, 0] = numpy.sum(x254 * x283 * x58)
3732
+ result[14, 1] = numpy.sum(x203 * x284 * x84)
3733
+ result[14, 2] = numpy.sum(x203 * x285 * x58 * x79)
3734
+ result[14, 3] = numpy.sum(x202 * x282 * x63)
3735
+ result[14, 4] = numpy.sum(x262 * x285 * x84)
3736
+ result[14, 5] = numpy.sum(x261 * x286 * x58)
3737
+ result[14, 6] = numpy.sum(x15 * x284 * x72)
3738
+ result[14, 7] = numpy.sum(x266 * x285 * x62)
3739
+ result[14, 8] = numpy.sum(x240 * x265 * x286 * x44)
3740
+ result[14, 9] = numpy.sum(x263 * x287)
3741
+ result[14, 10] = numpy.sum(x283 * x8 * x88)
3742
+ result[14, 11] = numpy.sum(x277 * x285 * x72)
3743
+ result[14, 12] = numpy.sum(x286 * x63 * x8)
3744
+ result[14, 13] = numpy.sum(x287 * x44 * x45)
3745
+ result[14, 14] = numpy.sum(
3746
+ x240 * (x0 * (7.0 * x198 + 3.0 * x199 + 4.0 * x248) + x128 * x252)
3747
+ )
3748
+ return result
3749
+
3750
+
3751
+ ovlp3d = {
3752
+ (0, 0): ovlp3d_00,
3753
+ (0, 1): ovlp3d_01,
3754
+ (0, 2): ovlp3d_02,
3755
+ (0, 3): ovlp3d_03,
3756
+ (0, 4): ovlp3d_04,
3757
+ (1, 0): ovlp3d_10,
3758
+ (1, 1): ovlp3d_11,
3759
+ (1, 2): ovlp3d_12,
3760
+ (1, 3): ovlp3d_13,
3761
+ (1, 4): ovlp3d_14,
3762
+ (2, 0): ovlp3d_20,
3763
+ (2, 1): ovlp3d_21,
3764
+ (2, 2): ovlp3d_22,
3765
+ (2, 3): ovlp3d_23,
3766
+ (2, 4): ovlp3d_24,
3767
+ (3, 0): ovlp3d_30,
3768
+ (3, 1): ovlp3d_31,
3769
+ (3, 2): ovlp3d_32,
3770
+ (3, 3): ovlp3d_33,
3771
+ (3, 4): ovlp3d_34,
3772
+ (4, 0): ovlp3d_40,
3773
+ (4, 1): ovlp3d_41,
3774
+ (4, 2): ovlp3d_42,
3775
+ (4, 3): ovlp3d_43,
3776
+ (4, 4): ovlp3d_44,
3777
+ }