GFN2-xTB and CREST: browser implementation and performance evolution

Browser numerical validation of GFN2-xTB, ASE and CREST, with two same-machine performance studies specifying the quick protocol, concurrency, timing boundaries and result reproduction.

Felix Fei

2026-10-08 · Mol2Mat · revision 2

Mol2Mat brings GFN2-xTB electronic calculations, ASE geometry optimization and CREST conformer searches into the browser. Revision 1 establishes numerical agreement with native calculations and measures concurrency scaling; Revision 2 measures the performance of complete tasks. On the same device and with the same sampling protocol, median times for ethanol, n-butane and n-hexane quick searches decrease by 27.3–45.5 % relative to Revision 1. The accompanying data retain individual timings, statistics and conformer outputs.

Measurement and calculation conditions

Dates and conditions of the two measurement rounds

Native and Revision 1 measurements were completed on 8 October 2026; Revision 2 was measured on 9 October. The three-version figure uses these historical references, while local optimizations have separate warmed, interleaved paired experiments. GFN2 single-point and ASE-optimization scaling remains the Revision 1 dataset; complete Revision 2 tasks cover ethanol, n-butane and n-hexane.

Table 1. Measurement dates and task boundaries
RecordMeasurement dateScope and conditions
Revision 1 and native references2026-10-08354 fresh executions; GFN2 9–122 atoms; CREST ethanol, n-butane and n-hexane; n=3 per configuration.
Revision 22026-10-099 complete quick tasks; 10 child Workers; n=3 per molecule; 18 retained native/R1 references.
Shared hardware and scientific conditionsEnvironment and asset identities retained for each round10-core M1 Pro, 32 GiB; macOS 27.0, Chrome 154.0.8037.98; gas-phase neutral closed-shell GFN2, 300 K, accuracy 1.

Scientific parameters and execution conditions

All runs use the same Apple M1 Pro (8 performance cores, 2 efficiency cores, 32 GiB RAM) and identical explicit-hydrogen coordinates prepared by browser RDKit ETKDGv3/MMFF94. GFN2 uses tblite 0.7.0 and original ASE 3.29.0, with gas-phase neutral closed-shell inputs, double precision, accuracy 1.0, 300 K electronic temperature and a 0.05 eV Å⁻¹ BFGS threshold. Every optimization converges before the 1000-step cap.

Each configuration has three repetitions; figures show medians and minimum-to-maximum ranges. Settings 1/2/4 and the additional 8/10 are run in separate batches with rotating within-batch order and sequential scientific jobs. Background services remain active and host load is recorded per run. Native GFN2 sets OpenMP/BLAS thread environments; browser setting 1 is the serial parent path, while 2/4/8/10 count orbital-pair child-pool concurrency.

Native and browser CREST calculations use matched versions and random sequences, retaining the complete quick stages, durations, precision and convergence criteria. Trajectory-state protocols are identified separately for native and browser calculations; speedups therefore use configurations with the same browser protocol as their baseline. Public records retain fixed coordinates, individual results and asset checksums.

Table 2. Computational parameters and execution conditions
ParameterNativeRevision 1Revision 2
Method / workflowGFN2-xTB / CREST quickGFN2-xTB / CREST quickGFN2-xTB / CREST quick
Software versionsCREST 3.0.2 / tblite 0.7.0CREST 3.0.2 / tblite 0.7.0CREST 3.0.2 / tblite 0.7.0
Electronic temperature300 K300 K300 K
Accuracy parameter / search SCF limit1.0 / 5001.0 / 5001.0 / 500
Charge / UHF / phase0 / 0 / gas0 / 0 / gas0 / 0 / gas
Execution concurrency1 native thread10 child Workers10 child Workers
Starting geometry / random controlIdentical RDKit geometry; seed 20261003, reset sequence +37×iIdentical geometry and seed sequenceIdentical geometry and seed sequence
Hot-object compilationGNU Fortran 16.2.0 / OpenBLASWASM objects compiled at mixed optimization levelsO2 hot-object recompilation; fixed-size s/p integrals
Final property recomputationOutside native search timingUp to 10 conformers; SCF limit 150Up to 10 conformers; SCF limit 150
Electronic-state strategyNative SCC cache chainIndependent trajectories initialized from round-entry stateSame protocol; optimized restoration and return
Precisionf64f64f64
Repetitions / date3 / 2026-10-083 / 2026-10-083 / 2026-10-09
Timing boundaryProcess launch to search outputSearch, validation, propertiesSearch, validation, properties

Revision 1: browser implementation and parallel performance

GFN2 numerical agreement

Native tblite independently evaluates every browser single-point and optimization result at its full-precision final coordinates. Maximum differences are 1.124 × 10⁻⁷ Ha in energy (7.050 × 10⁻⁵ kcal mol⁻¹), 3.736 × 10⁻⁶ Ha bohr⁻¹ in gradient components, 1.823 × 10⁻⁹ e in charges and 7.631 × 10⁻⁹ D in dipole vectors. All four meet the established port-consistency criteria.

Table 3. Maximum absolute differences at identical coordinates
QuantityMaximum difference
Energy / Ha1.123538737601848e-7
Gradient / Ha bohr⁻¹0.000003736210379341043
Charge / e1.8228497600247806e-9
Dipole / D7.630595996248265e-9

Original ASE BFGS optimization from identical starting coordinates produces matching convergence status and step counts in every native/browser pair. The maximum coordinate difference across recorded optimization frames is 7.500 × 10⁻⁵ Å. Agreement in energy, forces and optimization paths demonstrates retention of native numerical behavior for these molecules. Frames are recorded to six decimal places; final-property verification uses full-precision coordinates.

Single-point and geometry-optimization performance

Median browser single-Worker geometry-optimization compute times are 0.090 s for ethanol, 1.226 s for aspirin, 0.414 s for caffeine, 0.704 s for n-eicosane and 6.038 s for n-tetracontane. Original GFN2 and ASE computation is therefore in the subsecond-to-second range for the tested small molecules.

Single-point and geometry-optimization performance
Figure 1. Median and full range of three measured runs; timing conditions are described in the text.

n-Tetracontane optimization took 5.475 s with a four-Worker pool, improving on the serial browser path by 9.3 %. Parallel work covers orbital-pair integrals; ASE control, SCC and matrix operations retain serial costs. Small tasks favour serial execution, while larger structures can benefit from moderate concurrency. The native single-threaded path was faster for this task set.

Concurrency scaling

Complete curves for settings 1, 2, 4, 8 and 10 show that optimal concurrency depends on task structure. n-Tetracontane optimization takes 5.626 and 5.563 s at 8 and 10, with 4 fastest on this machine. CREST’s multiple trajectories gain most at 8–10. Task-level parallelism offers greater scaling potential than parallelism within an individual electronic calculation.

Concurrency scaling
Figure 2. Median and full range of three measured runs; timing conditions are described in the text.

Measured optimised geometries

Aspirin, caffeine and n-tetracontane represent a multifunctional aromatic molecule, a nitrogen heterocycle and a long-chain system. Browser execution of original ASE BFGS optimization converges in 56, 12 and 18 steps for these 21-, 24- and 122-atom structures. The models use measured final coordinates and retain energy, maximum force and optimization step counts.

Aspirin: 21 atoms, 56 BFGS steps; -39.63155591 Ha. Measured XYZ

Caffeine: 24 atoms, 12 BFGS steps; -42.15385498 Ha. Measured XYZ

n-Tetracontane: 122 atoms, 18 BFGS steps; -127.54814429 Ha. Measured XYZ

Figure 3. Final structures from the browser optimizations.

Parallel complete CREST searches

Browser CREST distributes complete MTD/MD trajectories and optimization batches while retaining the iMTD-GC quick workflow: trial and production metadynamics, molecular dynamics, optimization, genetic crossing and CREGEN processing. Trajectories use independent electronic states and fixed random streams, with results joined in logical order at stage boundaries.

Parallel complete CREST searches
Figure 4. Median and full range of three measured runs; timing conditions are described in the text.

At concurrency 8, ethanol falls from 27.52 s to 6.77 s (4.07×), and n-butane from 70.18 s to 14.15 s (4.96×). At concurrency 10, n-hexane falls from 244.88 s to 44.98 s (5.44×). Times are medians of three repetitions and include complete search and result processing.

All 15 browser searches for each molecule produce byte-identical complete ensemble XYZ files, matching call counts and actual seed sequences. The 45 searches execute 690,735 search-stage GFN2 energy/gradient calls. Parallel gains result from concurrent execution of the same scientific work. The native control uses CREST 3.0.2, a matched random stream and one thread, retaining its SCC cache chain; every browser setting uses the same independent-trajectory protocol. Native timings provide implementation context; speedups compare browser concurrency settings.

Candidate ensembles and native recalculation

Browser searches yield 3, 2 and 26 CREGEN candidates for ethanol, n-butane and n-hexane. Minimum electronic energies differ from the native searches by 1.00 × 10⁻⁸, 2.80 × 10⁻⁷ and 2.70 × 10⁻⁷ Ha. Each spectrum is referenced to its runtime’s minimum and displays the complete candidate set.

Figure 5. Candidate conformer ensembles

Ethanol · Relative electronic energy / kJ/mol
CandidateNativeBrowser
10.0000.000
26.4906.490
310.40310.392
n-Butane · Relative electronic energy / kJ/mol
CandidateNativeBrowser
10.0000.000
22.4952.495
310.737
n-Hexane · Relative electronic energy / kJ/mol
CandidateNativeBrowser
10.0000.000
22.3012.297
32.3952.396
44.5324.535
54.5904.579
64.7364.686
74.8024.736
85.1344.776
97.0575.129
107.0755.168
117.1377.055
127.2047.063
139.7547.100
149.8977.137
1511.1458.237
1611.4609.756
1711.8379.896
1812.29011.328
1918.35111.489
2011.503
2111.832
2211.847
2311.872
2412.268
2518.352
2619.665

All 31 browser candidates undergo independent native tblite evaluation at identical coordinates, with a maximum energy difference of 5.137 × 10⁻⁹ Ha and maximum forces no greater than 0.01781 eV Å⁻¹. Dynamic sampling is sensitive to electronic-state continuation and small numerical differences, producing different candidate sets across runtimes; the complete set remains identical across browser concurrency settings.

Resources and timing boundaries

Independent trajectory Workers each hold scientific runtime state, enabling multicore execution with an increased memory requirement. Chrome process-tree RSS for CREST at 8–10 is approximately 4.7–5.7 GiB, making available device memory relevant to concurrency selection. Browser values sum process-tree RSS sampled every 250 ms; native values are peak RSS for one process. Their accounting boundaries are retained separately.

Resources and timing boundaries
Figure 6. Median and full range of three measured runs; timing conditions are described in the text.

Timing starts after engine assets are preloaded, with a fresh parent Worker and child pool for each run. GFN2 compute time includes ASE, electronic properties and initial child-pool startup; whole-task time adds RDKit and parent-module preparation. Initialization is recorded separately, with 169.3 MiB of deduplicated preloaded assets. CSV records also retain CPU seconds, memory and host load.

Revision 2: compilation and electronic-calculation optimisation

Conditions for version comparison

Both versions use the same scientific parameters, random sequences, numerical precision and result-comparison criteria. Complete tasks include conformer search, result validation and property recalculation for final conformers. Individual measurements retain version and environment identities.

Complete-task comparison across three versions

The comparison uses the native single-threaded path and both browser revisions with ten child Workers. Each group has n=3n=3, shown as the median and minimum–maximum range. Native and Revision 1 records are dated 8 October; Revision 2 records are dated 9 October. R2 medians for ethanol, n-butane and n-hexane are 4.99, 8.76 and 24.53 s, reductions of 27.3 %, 40.2 % and 45.5 % from R1.

Figure 2 · Complete quick-task times across three versions
Figure 7. Each group has n=3n=3; bars show medians and whiskers span the minimum to maximum. Native and Revision 1 values are the 8 October references, and Revision 2 values were measured on 9 October. Both browser revisions used ten child Workers.
Table 4. Full-task times across three versions
MoleculeAtomsNative / sRevision 1 / sRevision 2 / sReduction from R1R1/R2
Ethanol97.87786.85814.985927.3 %1.38×
n-Butane1421.000914.63158.756840.2 %1.67×
n-Hexane2068.970844.980724.525445.5 %1.83×

R1/R2 median-time ratios are 1.38, 1.67 and 1.83; native/R2 ratios are 1.58, 2.40 and 2.81. The browser revisions share a task boundary and sampling protocol. The native reference reports complete wall time for its own execution path.

Native timing covers process startup through complete search-file output. Browser timing begins after resources and the parent Worker are ready, covering search, result validation and property recalculation for up to ten conformers. Native execution uses an SCC state-cache chain; the browser uses independent trajectories initialized at stage entry. [8, 3, 4] Each implementation’s candidate set is retained as produced.

These timing ratios are sample statistics for the stated device, versions and three inputs. Each range describes the spread of three observations. Estimating performance across devices or statistical confidence intervals requires a separate repeated-measurement design with fixed task boundaries.

Subtask performance comparisons

Captured n-hexane molecular-dynamics and conformer-optimization tasks are measured in interleaved order after warm-up in a single Node instance. Each of three versions has two MD and eight optimization measurements. The final version reduces median times by approximately 11.7 % and 9.0 % relative to baseline, with bitwise-identical numerical results and electronic states. Subtasks and complete searches retain their respective timing boundaries.

Figure 3 · Task-level performance of integral optimizations
Figure 8. Captured n-hexane tasks were interleaved after warm-up in a single Node instance. Each version has n=2n=2 for MD and n=8n=8 for conformer optimization. Times are normalized to the corresponding baseline-kernel median; whiskers span the minimum to maximum.

Numerical and execution verification

All nine full browser tasks terminated normally. Starting geometries, complete conformer XYZ files, random-seed sequences, E/G evaluation counts, and full-precision retained coordinates and electronic properties matched the corresponding Revision 1 results. The E/G counts remained 10,593, 13,071 and 22,385 for ethanol, n-butane and n-hexane, respectively. Same-coordinate native validation retained the Revision 1 candidate-conformer evidence and confirmed that the new results matched the corresponding coordinates, energies and properties.

Local integral validation covered 25 shell-pair combinations from s through g for both values and gradients. Maximum absolute differences were 2.78×10−162.78\times 10^{-16} and 7.77×10−167.77\times 10^{-16}, respectively, below the 10−1210^{-12} component tolerance. Butane, hexane and caffeine were also used to validate cold starts, state reuse, geometry updates, property requests and electronic-state restoration, covering seven phases per system. Caffeine served as a kernel numerical control; the CREST parallel measurements remained limited to the three benchmark systems.

Execution records bind the measured kernel, task assets and numerical controls. Task lifecycle handling is described in the shared execution section.

Table 5. Numerical-agreement validation
ValidationScopeResult
Full tasks3 molecules × 3 runsInputs, XYZ, seeds, calls, retained coordinates and properties identical
Value / gradient integrals25 shell pairs eachMaximum differences 2.78×10−162.78\times 10^{-16} / 7.77×10−167.77\times 10^{-16}
State transitions3 molecules × 7 phasesBitwise E/G, wavefunctions and requested properties
Native same-coordinate validationRevision 1 candidate conformers and new execution tasksPassed at original tolerances; matching coordinates and properties

Browser task execution and scheduling

Each calculation retains its inputs, version, execution configuration and results, supporting progress viewing, cancellation, saving and recovery. Performance comparisons report warmed short tasks, complete searches in fresh computation instances, single-instance subtasks and native processes separately.

Task time includes numerical computation, progress handling and result delivery. Each article specifies initialization boundaries, inputs, repetitions and output agreement. Reproduction uses the same timing entry points and stopping conditions.

Data and reproduction

Public Revision 1 records contain 354 executions; Revision 2 contains nine complete tasks and 18 native/R1 references. Per-revision raw-results.json.gzip and summary.csv files, candidate recalculations and provenance records support reproduction of timing summaries and saved-output comparisons. Runs are grouped by molecule, version, concurrency and repetition, with the documented initialization or warmup intervals excluded, to recompute medians, minima, maxima and R1/R2 timing ratios.

Calculations can be repeated with the recorded explicit-hydrogen coordinates, GFN2/ASE/CREST versions, quick protocol, random streams and numerical settings. Performance reproduction also fixes hardware, thread/Worker settings and timing boundaries. Subsequent work is reported in the GFN2/CREST caffeine study.

Measured data / 实测数据

MoleculeAtomsTaskRuntimeConcurrencyMedian / sMin / sMax / sn
Ethanol9singlepointbrowser10.01660000.01590000.01840003
Ethanol9singlepointnative10.004062540.003892920.01206353
Ethanol9singlepointbrowser20.1805000.1800000.1871003
Ethanol9singlepointnative20.009315710.009193710.01083993
Ethanol9singlepointbrowser40.2287000.2257000.2333003
Ethanol9singlepointnative40.01316910.01296790.01392203
Ethanol9singlepointbrowser80.3786000.3448000.5013003
Ethanol9singlepointnative80.03470370.02995110.03814723
Ethanol9singlepointbrowser100.4616000.4028000.4668003
Ethanol9singlepointnative100.04190150.04163570.04230433
Ethanol9optimizebrowser10.08970000.08860000.09240003
Ethanol9optimizenative10.01851220.01839670.01919013
Ethanol9optimizebrowser20.2680000.2666000.2831003
Ethanol9optimizenative20.04104160.03976850.04109633
Ethanol9optimizebrowser40.3261000.3229000.3264003
Ethanol9optimizenative40.05758470.05587260.05771823
Ethanol9optimizebrowser80.5160000.4506000.5171003
Ethanol9optimizenative80.1386710.1282990.1434353
Ethanol9optimizebrowser100.5134000.4829000.5914003
Ethanol9optimizenative100.1568430.1455350.1627253
Aspirin21singlepointbrowser10.08800000.08540000.09120003
Aspirin21singlepointnative10.02116990.02113140.02335383
Aspirin21singlepointbrowser20.2509000.2448000.2512003
Aspirin21singlepointnative20.03580310.03529990.03651883
Aspirin21singlepointbrowser40.2870000.2851000.2927003
Aspirin21singlepointnative40.04484930.04435730.04607353
Aspirin21singlepointbrowser80.4003000.3613000.4336003
Aspirin21singlepointnative80.09787200.09014980.1213053
Aspirin21singlepointbrowser100.5178000.4574000.5209003
Aspirin21singlepointnative100.1145840.1094680.1156583
Aspirin21optimizebrowser11.226501.209601.256403
Aspirin21optimizenative10.4084080.4064330.4103203
Aspirin21optimizebrowser21.344201.333701.363903
Aspirin21optimizenative20.5885680.5762320.5899913
Aspirin21optimizebrowser41.268701.267601.277903
Aspirin21optimizenative40.7079840.7039190.7088683
Aspirin21optimizebrowser81.594601.365701.690703
Aspirin21optimizenative81.460991.300081.526283
Aspirin21optimizebrowser101.425601.380801.610203
Aspirin21optimizenative101.686291.677991.815293
Caffeine24singlepointbrowser10.1017000.09970000.1021003
Caffeine24singlepointnative10.02499240.02485120.02537233
Caffeine24singlepointbrowser20.2615000.2531000.2633003
Caffeine24singlepointnative20.03982660.03937770.04117873
Caffeine24singlepointbrowser40.3036000.2993000.3071003
Caffeine24singlepointnative40.04971230.04912030.05237783
Caffeine24singlepointbrowser80.4774000.4407000.6225003
Caffeine24singlepointnative80.1128620.1060740.1526653
Caffeine24singlepointbrowser100.5158000.5077000.5657003
Caffeine24singlepointnative100.1289880.1237300.1676803
Caffeine24optimizebrowser10.4142000.4126000.4182003
Caffeine24optimizenative10.1299000.1277880.1336913
Caffeine24optimizebrowser20.5598000.5436000.5602003
Caffeine24optimizenative20.1814400.1778480.1865203
Caffeine24optimizebrowser40.5851000.5756000.5913003
Caffeine24optimizenative40.2278180.2171570.2394503
Caffeine24optimizebrowser80.7820000.7031000.8333003
Caffeine24optimizenative80.4240570.4143370.4390403
Caffeine24optimizebrowser100.8054000.7806000.9530003
Caffeine24optimizenative100.5244720.5126240.5472903
n-Eicosane62singlepointbrowser10.2178000.2177000.2182003
n-Eicosane62singlepointnative10.06406840.06342690.06557943
n-Eicosane62singlepointbrowser20.4013000.3867000.4057003
n-Eicosane62singlepointnative20.07883480.07594670.08174173
n-Eicosane62singlepointbrowser40.4211000.4206000.4422003
n-Eicosane62singlepointnative40.08660570.08152160.09006123
n-Eicosane62singlepointbrowser80.6221000.5795000.7465003
n-Eicosane62singlepointnative80.1763690.1480650.1784203
n-Eicosane62singlepointbrowser100.6646000.6140000.6931003
n-Eicosane62singlepointnative100.1876780.1840580.1886493
n-Eicosane62optimizebrowser10.7041000.7018000.7121003
n-Eicosane62optimizenative10.2196570.2185240.2216173
n-Eicosane62optimizebrowser20.8488000.8466000.8561003
n-Eicosane62optimizenative20.2446940.2438840.2447013
n-Eicosane62optimizebrowser40.8483000.8476000.8608003
n-Eicosane62optimizenative40.2507670.2466480.2546393
n-Eicosane62optimizebrowser80.9829000.9688001.056503
n-Eicosane62optimizenative80.4486580.4437090.5917123
n-Eicosane62optimizebrowser101.050601.016801.092203
n-Eicosane62optimizenative100.5351210.5113720.5386923
n-Tetracontane122singlepointbrowser10.7965000.7947000.8000003
n-Tetracontane122singlepointnative10.2388340.2340830.2409743
n-Tetracontane122singlepointbrowser20.9400000.9378000.9434003
n-Tetracontane122singlepointnative20.2514200.2405890.2569053
n-Tetracontane122singlepointbrowser40.9525000.9479000.9539003
n-Tetracontane122singlepointnative40.2583450.2542990.2638263
n-Tetracontane122singlepointbrowser81.103101.033101.138003
n-Tetracontane122singlepointnative80.4406650.4330450.6695203
n-Tetracontane122singlepointbrowser101.154601.100001.175603
n-Tetracontane122singlepointnative100.5363510.4736870.5375173
n-Tetracontane122optimizebrowser16.038106.017306.061003
n-Tetracontane122optimizenative11.760451.750521.773733
n-Tetracontane122optimizebrowser25.735905.731205.764403
n-Tetracontane122optimizenative21.723471.668001.748493
n-Tetracontane122optimizebrowser45.475205.449505.517703
n-Tetracontane122optimizenative41.618371.583771.684693
n-Tetracontane122optimizebrowser85.625905.612505.680403
n-Tetracontane122optimizenative82.535762.450263.049613
n-Tetracontane122optimizebrowser105.563205.506005.723803
n-Tetracontane122optimizenative102.712472.533843.432943
Ethanol9searchbrowser127.524226.943129.98453
Ethanol9searchbrowser214.597214.474416.12483
Ethanol9searchbrowser49.653509.5538010.44633
Ethanol9searchbrowser86.766906.754108.419003
Ethanol9searchbrowser106.858106.711708.142903
Ethanol9searchnative17.877777.682498.171933
n-Butane14searchbrowser170.178768.459273.52833
n-Butane14searchbrowser236.387335.990537.96843
n-Butane14searchbrowser422.237521.918424.20613
n-Butane14searchbrowser814.152613.903415.33683
n-Butane14searchbrowser1014.631513.746114.90493
n-Butane14searchnative121.000919.886822.92143
n-Hexane20searchbrowser1244.884232.582245.9523
n-Hexane20searchbrowser2124.672121.479125.6153
n-Hexane20searchbrowser474.745672.039075.03423
n-Hexane20searchbrowser847.302145.723847.94423
n-Hexane20searchbrowser1044.980744.125753.31683
n-Hexane20searchnative168.970866.890170.70753

GFN2: original ASE and electronic computation; CREST: complete search, validation and browser property recomputation. Initialization and download excluded.

Data and sources

  1. C. Bannwarth, S. Ehlert, S. Grimme. GFN2-xTB—An Accurate and Broadly Parametrized Self-Consistent Tight-Binding Quantum Chemical Method with Multipole Electrostatics and Density-Dependent Dispersion Contributions. Journal of Chemical Theory and Computation 15, 1652–1671 (2019). doi:10.1021/acs.jctc.8b01176
  2. P. Pracht et al. CREST—A program for the exploration of low-energy molecular chemical space. The Journal of Chemical Physics 160, 114110 (2024). doi:10.1063/5.0197592
  3. CREST · iMTD-GC workflow
  4. CREST · search keywords and presets
  5. tblite · original ASE integration
  6. ASE · BFGS optimization
  7. CREST 3.0.2 source
  8. LLVM · noalias parameter attribute and strict floating-point semantics