reASITIC ↔ ASITIC C function mapping

Living catalog of every Python function in the reASITIC port and the reverse-engineered C function(s) it ports / mirrors / supersedes. The C side lives in ../decomp/output/asitic_*.c; addresses are absolute load-time virtual addresses inside run/asitic.linux.2.2.

The relationship column uses these tags:

Tag

Meaning

port

Direct re-implementation of the C body (formula or logic preserved)

partial

Implements a subset of the C function’s behavior

subsumes

Replaces multiple C helpers with one Python implementation

dispatch

Mirrors the C dispatcher’s call but lets cleaner code do the work

stub

Placeholder; full port deferred to a later phase

utility

Python-only helper; no direct C analogue

pure

Pure-Python implementation of standard math (no C analogue)

When updating: add a row whenever a new Python function is written. Keep the table sorted by Python module path, then by function name.


reasitic.units

Python

Tag

C function

Address

Notes

MU_0, EPS_0, C_LIGHT

utility

SI constants

UM_TO_CM (= 1e-4)

utility

Matches the 0.0001 factor scattered through the kernel for μm→cm conversion before invoking Grover formulas (e.g. check_segments_intersect body, compute_inductance_inner_kernel)

LN2, EIGHT_PI, TWO_PI

utility

The literal 0.6931471805599453 and 25.1327412287 constants from the decomp

reasitic.tech

Python

Tag

C function

Address

Notes

parse_tech_file

partial

techfile_parse_layers

0x0807b328

Section/key parsing; the binary’s variant also runs techfile_validate_* and techfile_alloc_layer_table

parse_tech

partial

techfile_parse_layers

0x0807b328

String/stream entry point

write_tech / write_tech_file

utility

(no direct C analogue)

Round-trip serialisation back to .tek

Chip (dataclass)

port

<chip> global block

g_chip_xmax/g_chip_ymax/etc.

Contents of g_chip_* BSS cells

Layer

port

substrate-layer record

g_substrate_layer_table (0x080d8ac8)

16-byte per-entry record

Metal

port

metal-layer record

g_metal_layer_table (0x080d8910)

0xec-byte per-entry record; +0xb0=t, +0xb8=rsh

Via

port

via-layer record

g_via_layer_table (0x080d8914)

0xf0-byte record; +0xa0=Nx, +0xa8=Ny, +0xc0=R, +0xcc=top, +0xd0=bottom

Tech.metal_by_name

port

lookup_metal_layer_by_name

0x08056494

Tech.via_by_name

port

lookup_via_layer_by_name

0x080563fc

reasitic.geometry

Python

Tag

C function

Address

Notes

Point, Segment, Polygon

port

Polygon record

(240-byte struct)

Pythonic flatten of +0xdc metal idx, +0xe8 sub-chain, +0xec next, +0xcc width

Shape

port

Shape record

(188-byte struct)

Mirror of fields described in shape_record_init_from_args

square_spiral

partial

cmd_square_build_geometry

0x08056670

Simple-case port; no exit-metal transition or 3D mirroring

polygon_spiral

partial

cmd_spiral_build_geometry

0x08057248

Polygon-spiral with N sides

wire

port

cmd_wire_build_geometry

0x08057998

Single straight rectangle

via

done

cmd_via_build_geometry

0x08057b78

Via cluster: emits top-metal pad + bottom-metal pad + nx × ny via squares (matches the C’s polygon record + CIF expansion)

ring

port

cmd_ring_build_geometry (case 22)

Implemented as a single-turn polygon spiral

transformer

partial

cmd_trans_build_geometry

0x080576d4

Two interleaved square coils

transformer_3d

partial

cmd_3dtrans_build_geometry

0x08057d40

Two co-axial square coils on different metals + via

symmetric_polygon

done

cmd_sympoly_build_geometry (case 17)

0x0805a45c

Symmetric centre-tapped polygon spiral; _sympoly_layout_polygons ports the 2N-half-turn state machine vertex-for-vertex; via-cluster pad widths outstanding

multi_metal_square

partial

cmd_mmsq_build_geometry (case 18)

Multi-metal series stacked square spiral

symmetric_square

partial

cmd_symsq_build_geometry

0x08059854

Two-arm centre-tapped variant

balun

partial

cmd_balun_build_geometry (case 5)

Two stacked counter-wound square coils

capacitor

partial

cmd_capacitor_build_geometry (case 4)

Two stacked rectangles on adjacent metals

Shape.translate

port

shape_translate_inplace_xy

0x0805b8d4

Bounding-box-recentre logic — out-of-place in Python

Shape.bounding_box

port

shape_bbox_scan

0x0807a9f4

Shape.segments

utility

Python-only flat segment list

_resolve_metal

utility

Tech-table lookup helper

reasitic.inductance.grover

Python

Tag

C function

Address

Notes

segment_self_inductance(L, r)

port

grover_segment_self_inductance

0x08064308

Round-wire Grover formula

rectangular_bar_self_inductance(L, W, T)

port

inner formula in cmd_inductance_compute

0x0804ce78

The 2L * (ln(2L/(W+T)) + 0.50049 + (W+T)/(3L)) block at lines 1417-1452 of asitic_repl.c

coupled_wire_self_inductance(W, T, S)

port

coupled_wire_self_inductance_grover

0x0804cb90

Grover Table 24 — full nested expansion

mohan_modified_wheeler

utility

(no direct C analogue)

Mohan 1999 closed-form L estimate (sanity check)

parallel_segment_mutual

partial

parallel-filament leaf of mutual_inductance_4corner_grover

0x080613bc

Clean closed form via the φ(t) antiderivative; the C version handles the general (non-parallel-axes) case

reasitic.inductance.partial

Python

Tag

C function

Address

Notes

compute_self_inductance(shape)

dispatch

cmd_inductance_compute

0x0804ce78

Same sum_self + 2·sum_pair_mutuals structure

compute_mutual_inductance(a, b)

dispatch

cmd_coupling_compute

0x0804d03c

Cross-pair Greenhouse sum

coupling_coefficient(a, b)

port

cmd_coupling_compute (final division)

0x0804d03c

M / sqrt(L1·L2)

_axis_of, _parallel_axis_pair, _segment_pair_mutual

subsumes

case-2 dispatch in check_segments_intersect

0x080611ec

The C dispatcher classifies pairs (parallel / orthogonal / general / intersecting); we only handle parallel here

reasitic.inductance.filament

Python

Tag

C function

Address

Notes

Filament (dataclass)

port

per-filament record inside solve_inductance_matrix

0x08064360

Pythonic; no byte layout dependency

filament_grid(seg, n_w, n_t)

partial

set_cell_size_normal

0x0807043c

Uniform cross-section subdivision; the binary’s version also adapts cell size based on freq + skin

auto_filament_subdivisions

port

freq-dependent cell sizing in set_cell_size_normal

0x0807043c

Automatic skin-depth-aware subdivision

build_inductance_matrix

port

fill_inductance_diagonal + fill_inductance_offdiag

0x080664ec / 0x08066658

Symmetric N×N partial inductance

build_resistance_vector

port

compute_inductance_inner_kernel (looped)

0x0804d1e4

Per-filament Wheeler AC R

solve_inductance_matrix

partial

solve_inductance_matrix

0x08064360

Schur-complement reduction of per-filament Z to per-segment, then series sum

solve_inductance_mna

port

solve_inductance_matrix

0x08064360

Rigorous modified-nodal-analysis solve (handles n_w·n_t > 1 correctly)

Deferred kernels still on the to-do list: mutual_inductance_orthogonal_segments (0x08061b84) — corner correction, negligible for Manhattan spirals, mutual_inductance_filament_general (0x08062230) — non-axis-aligned 3D segment pairs, mutual_inductance_3d_segments (0x08062ebc), mutual_inductance_assemble_pair (0x0806597c), mutual_inductance_filament_kernel (0x080b1*), wire_inductance_far_field_kernel (0x08063ca0).

reasitic.resistance.dc

Python

Tag

C function

Address

Notes

segment_dc_resistance

port

metal branch of compute_inductance_inner_kernel

0x0804d1e4

The R = rsh · L / W core; via branch handled separately

compute_dc_resistance(shape, tech)

partial

compute_dc_resistance_per_polygon

0x0804dd40

Bare summation only; the C version also splits at a tap point and computes microstrip caps

reasitic.resistance.skin

Python

Tag

C function

Address

Notes

ac_resistance_segment

port

metal-layer branch of compute_inductance_inner_kernel

0x0804d1e4

Wheeler-style skin-effect formula with the exact decomp constants (0.0035, 1.1147, 1.2868, 1.2296, 1.287, 0.43093, 0.041)

compute_ac_resistance(shape, tech, freq)

dispatch

cmd_resis_compute / cmd_resishf_compute

0x0804eedc / 0x0804d70c

Per-segment loop driven by Python instead of the C kernel’s filament walk

skin_depth(rho, freq, mu_r)

pure

Textbook formula δ = sqrt(ρ/(π·μ·f)), used as a reference / sanity check

reasitic.quality

Python

Tag

C function

Address

Notes

metal_only_q(shape, tech, freq)

partial

compute_q_factor_from_globals

0x0804ec50

Metal-loss-only Q = ωL/R; the C version reads the global Y matrix (after substrate FFT) so its Q includes substrate loss

reasitic.network.twoport

Python

Tag

C function

Address

Notes

y_to_z / z_to_y

port

y_to_z_2port_invert

0x0808800c

Direct 2×2 inverse

y_to_s

port

y_to_s_2port_50ohm

0x08087d14

Reference admittance defaults to 0.02 S (50 Ω), matching the binary’s hardcoded Y0

s_to_y

utility

Inverse of y_to_s; binary doesn’t ship the reverse path

deembed_pad_open

utility

Open-only de-embedding (subtract pad shunt)

deembed_pad_open_short

utility

Open-then-short de-embedding (subtract pad shunt and access-line series)

pi_equivalent(Y, freq)

port

extract_pi_equivalent

0x08089e40

Z_s = -1/Y₁₂, Y_p₁ = Y₁₁ + Y₁₂, Y_p₂ = Y₂₂ + Y₁₂

pi_to_y(model)

utility

Inverse synthesis; convenience for testing

spiral_y_at_freq(shape, tech, freq)

partial

analyze_narrow_band_2port

0x080515e4

Single-frequency Y construction; lossless-substrate first cut

PiModel (dataclass)

utility

Holds (Z_s, Y_p1, Y_p2, freq_ghz)

reasitic.network.threeport

Python

Tag

C function

Address

Notes

reduce_3port_z_to_2port_y

port

reduce_3port_z_to_2port_y

0x080881a8

Invert 3×3 Z, take 2×2 sub-block of Y

z_to_s_3port

port

z_to_s_3port_50ohm

0x080884b8

S = (Z Z₀ I)(Z + Z₀ I)⁻¹

reasitic.network.touchstone

Python

Tag

C function

Address

Notes

TouchstonePoint / TouchstoneFile

utility

Per-frequency / file-level wrappers

write_touchstone / write_touchstone_file

utility

IEEE Touchstone v1 writer

read_touchstone / read_touchstone_file

utility

Touchstone v1 parser; round-trips the writer

reasitic.network.sweep

Python

Tag

C function

Address

Notes

NetworkSweep (dataclass)

utility

Bundles per-freq Y/Z/S/Pi

two_port_sweep

dispatch

cmd_2port_emit (case 528)

Drives analyze_narrow_band_2port over a freq sweep

linear_freqs(start, stop, step)

utility

Inclusive linear stride

reasitic.network.analysis

Python

Tag

C function

Address

Notes

pi_model_at_freq

port

cmd_pi_emit (case 505) → extract_pi_lumped_3port

0x080897e4

Breaks Z_s / Y_p into physical L, R, C, g

PiResult (dataclass)

utility

(freq, L_nH, R, C_p1, C_p2, g_p1, g_p2)

zin_terminated

port

zin_terminated_2port

0x0804e9b0

Z_in = Z_11 − Z_12·Z_21/(Z_22 + Z_load)

self_resonance

port

cmd_selfres_compute

0x0804e590

Linear-scan + bisection on Im(Z_11) zero crossing

SelfResonance (dataclass)

utility

(freq, Q, z11_imag, converged)

shunt_resistance

port

cmd_shuntr_compute (case 533)

0x0804e354

R_p = R_s · (1 + Q²); supports differential mode

ShuntRResult (dataclass)

utility

(freq, R_p, Q, L, R_series)

pi3_model

port

cmd_pi3_emit (case 517)

0x08050b2c

3-port Pi with optional ground spiral

Pi3Result (dataclass)

utility

(L, R, C_p1_to_gnd, C_p2_to_gnd, R_sub_p1, R_sub_p2)

pi4_model

port

cmd_pi4_emit (case 518)

0x08050d10

4-port Pi with bond-pad caps

Pi4Result (dataclass)

utility

(L, R, C_pad{1,2}, C_sub{1,2}, R_sub{1,2})

pix_model

port

cmd_pix_emit (case 538)

0x080527a4

Extended Pi with R-C substrate split

PixResult (dataclass)

utility

(L, R, R_sub{1,2}, C_sub{1,2})

calc_transformer

port

cmd_calctrans_emit (case 523)

0x08051280

(L_pri, L_sec, R_pri, R_sec, M, k, n, Q_pri, Q_sec)

TransformerAnalysis (dataclass)

utility

reasitic.persistence

Python

Tag

C function

Address

Notes

save_session / load_session

subsumes

BSAVE/BLOAD/SAVE/LOAD (cases 201, 202, 225, 226)

Replaces the binary’s custom format with portable JSON

shape_to_dict / shape_from_dict

utility

Shape ↔ dict

tech_to_dict / tech_from_dict

utility

Tech ↔ dict

reasitic.exports

Python

Tag

C function

Address

Notes

write_cif / write_cif_file

partial

cmd_cifsave (case 300)

CIF intermediate format; spiral polygons emitted on per-metal layers

read_cif / read_cif_file

utility

Parse CIF back into Shapes; round-trips the writer

read_sonnet / read_sonnet_file

utility

Parse Sonnet .son GEO block back into Shapes

write_tek / write_tek_file

partial

cmd_print_tek (case 214)

gnuplot-friendly x/y dump

write_tek4014 / write_tek4014_file

port

cmd_print_tek (case 214)

True Tek 4014 escape-code byte stream

write_sonnet

partial

cmd_sonnet_emit (case 302)

Minimal Sonnet .son (header + GEO block)

write_spice_subckt / write_spice_subckt_file

utility

SPICE Pi-model .subckt block; replaces the binary’s text 2Port output for circuit-sim consumption

write_fasthenry / write_fasthenry_file

utility

FastHenry .inp for cross-validation against the MIT inductance extractor

reasitic.optimise

Python

Tag

C function

Address

Notes

optimise_square_spiral

dispatch

cmd_opt_l_sq (case 700)

scipy.optimize SLSQP wrapper; the binary uses hand-rolled gradient descent

OptResult (dataclass)

utility

(length, width, spacing, turns, L, Q, success, message)

optimise_polygon_spiral

dispatch

cmd_opt_l_poly (case 708)

Polygon-spiral OptPoly variant

optimise_area_square_spiral

dispatch

cmd_opt_area (case 706)

Minimise length² (footprint) under L target

optimise_symmetric_square

dispatch

cmd_opt_l_symsq (case 713)

Symmetric centre-tapped square

batch_opt_square

dispatch

cmd_batchopt (case 707)

Multi-target driver

sweep_square_spiral

dispatch

cmd_sweep (case 711, SWEEP)

Cartesian (length × width × spacing × turns) → numpy structured array

sweep_to_tsv

utility

TSV serialiser for the sweep array

reasitic.inductance.eddy

Python

Tag

C function

Address

Notes

eddy_correction

port

gen_eddy_current_matrix + inductance_eddy_fold

0x080b0e50, 0x...

Ground-image method; substrate-skin-depth attenuation

solve_inductance_with_eddy

dispatch

solve_inductance_matrix w/ eddy fold

0x08064360

Adds (ΔL, ΔR) eddy correction to closed-form result

_image_filament

utility

Mirrors filament across z=0 with reversed direction

reasitic.substrate.green

Python

Tag

C function

Address

Notes

_stack_reflection_coefficient

port

layered-stack reflection in compute_green_function

0x0808c350

Recursive transmission-line formula

green_function_static

port

quasi-static limit of compute_green_function

0x0808c350

Per-pair static Green’s function value

coupled_capacitance_per_pair

port

coupled_microstrip_to_cap_matrix

0x0804ecac

Mutual cap from area × Green’s value

integrate_green_kernel

partial

full Sommerfeld in compute_green_function

0x0808c350

Bessel-J0 numerical integration via scipy.integrate.quad

reasitic.substrate.fft_grid

Python

Tag

C function

Address

Notes

GreenFFTGrid (dataclass)

port

grid record in fft_setup

0x08091548

Holds (g_grid, g_fft) for batched conv

setup_green_fft_grid

port

fft_setup

0x08091548

Vectorised; reads chip dims and fftx/ffty from tech

green_apply

port

fft_apply_to_green

0x080912c0

scipy.fft 2-D convolution

reasitic.info

Python

Tag

C function

Address

Notes

metal_area

port

cmd_metalarea_print (case 413)

0x0804ee74

Shoelace area sum across all polygons

list_segments / format_segments

port

cmd_listsegs (case 210)

Per-segment dump with positions, length, width

lr_matrix / format_lr_matrix

port

cmd_lrmat (case 531)

Per-segment partial-L matrix in nH

reasitic.substrate

Python

Tag

C function

Address

Notes

parallel_plate_cap_per_area

utility

Standard parallel-plate formula

shape_shunt_capacitance

partial

cmd_capacitance_compute (case 503) → calls into coupled_microstrip_caps_hj

0x0804df6c

First-cut substrate model: parallel plate + edge fringe. Full FFT Green’s function (compute_green_function 0x0808c350) deferred.

reasitic.cli (REPL commands)

Python

Tag

C function

Address

Notes

Repl.cmd_load_tech

port

tech-load on startup → init_load_techfile

0x0804b7b0

Repl.cmd_wire

dispatch

cmd_wire_build_geometry

0x08057998

Repl.cmd_square

dispatch

cmd_square_build_geometry

0x08056670

Repl.cmd_spiral

dispatch

cmd_spiral_build_geometry

0x08057248

Repl.cmd_ring

dispatch

case 22 (Ring)

Repl.cmd_via

dispatch

case 14 (Via) → cmd_via_build_geometry

0x08057b78

Repl.cmd_ind

dispatch

case 502 (Ind) → cmd_inductance_compute

0x0804ce78

Repl.cmd_res

dispatch

case 501 (Res) → cmd_resis_compute

0x0804eedc

Repl.cmd_q

dispatch

case 504 (Q) → uses compute_q_factor_from_globals

0x0804ec50

Repl.cmd_coupling

dispatch

case 500 (K/Coupling) → cmd_coupling_compute

0x0804d03c

Repl.cmd_2port

dispatch

case 528 (2Port) → analyze_narrow_band_2port

0x080515e4

Repl.cmd_cap

dispatch

case 503 (Cap) → substrate cap path

Repl.cmd_save / cmd_load

dispatch

cases 225/226 (Save/Load)

JSON persistence

Repl.cmd_cifsave

dispatch

case 300 (CIFSave)

Repl.cmd_teksave

dispatch

case 214 (PrintTekFile)

gnuplot text format

Repl.cmd_sonnetsave

dispatch

case 302 (SonnetSave)

Repl.cmd_s2psave

dispatch

(no direct C analogue; standard Touchstone export)

Repl.cmd_optsq

dispatch

case 700 (OptSq)

scipy.optimize SLSQP

Repl.cmd_2port_gnd

dispatch

case 529 (2PortGnd)

2-port sweep with grounded coupling

Repl.cmd_2port_pad

dispatch

case 530 (2PortPad)

2-port sweep with bond-pad caps

Repl.cmd_3port

dispatch

case 536 (3Port) → reduce_3port_z_to_2port_y

0x080881a8

Repl.cmd_2port_trans

dispatch

case 524 (2PortTrans)

Transformer 2-port over a freq sweep

Repl.cmd_2pzin

dispatch

case 537 (2PZin)

Input impedance with arbitrary load

Repl.cmd_pix

dispatch

case 538 (PiX) → cmd_pix_emit

0x080527a4

Extended Pi with R-C substrate split

Repl.cmd_befriend / cmd_unfriend

dispatch

cases 417/418

Shape friendship pairs

Repl.cmd_intersect

dispatch

case 419 (Intersect/FindI)

Bounding-box overlap detection

Repl.cmd_trans / cmd_balun / cmd_capacitor / cmd_symsq

dispatch

cases 3/5/4/16

Builder commands

Repl.cmd_split / cmd_join / cmd_phase

dispatch

cases 416/409/404

Edit commands

Repl.cmd_modify_tech_layer / cmd_cell / cmd_auto_cell / cmd_chip / cmd_eddy

dispatch

cases 222/207/212/217/221

Tech and cell-size edits

Repl.cmd_pause / cmd_input / view no-ops

dispatch

cases 216/215/100-115

Session and view commands

Repl.cmd_sympoly / cmd_mmsquare

dispatch

cases 17/18

Symmetric polygon and multi-metal square builders

Repl.cmd_ldiv

dispatch

case 800 (LDiv)

Inductance with filament discretisation

Repl.cmd_optsympoly

dispatch

case 714 (OPTSYMPOLY)

Symmetric polygon optimiser

Repl.cmd_erase / cmd_rename / cmd_copy / cmd_hide

dispatch

cases 400/401/402/420

Shape-management commands

Repl.cmd_verbose / cmd_timer / cmd_savemat

dispatch

cases 220/228/229

Session toggles

Repl.cmd_log / cmd_record / cmd_exec_script / cmd_cat

dispatch

cases 203/213/209/227

Session recording / playback

Repl.cmd_version / cmd_help

dispatch

cases 208/206

Help & version

Repl.cmd_pi

dispatch

case 505 (Pi)

Pi-model L/R/C breakout at one frequency

Repl.cmd_zin

dispatch

case 535 (Zin) → zin_terminated_2port

0x0804e9b0

Repl.cmd_selfres

dispatch

case 534 (SelfRes) → cmd_selfres_compute

0x0804e590

Repl.cmd_listsegs

dispatch

case 210 (ListSegs)

Repl.cmd_metarea

dispatch

case 413 (MetalArea)

Repl.cmd_lrmat

dispatch

case 531 (LRMAT)

Repl.cmd_sweep

dispatch

case 711 (Sweep)

Cartesian param grid

Repl.cmd_3dtrans

dispatch

case 10 (3DMirrorTrans)

0x08057d40

Repl.cmd_shuntr

dispatch

case 533 (ShuntR) → cmd_shuntr_compute

0x0804e354

S/D mode

Repl.cmd_pi3

dispatch

case 517 (Pi3) → cmd_pi3_emit

0x08050b2c

Repl.cmd_pi4

dispatch

case 518 (Pi4) → cmd_pi4_emit

0x08050d10

Repl.cmd_calctrans

dispatch

case 523 (CalcTrans)

0x08051280

Repl.cmd_optpoly

dispatch

case 708 (OptPoly)

Repl.cmd_optarea

dispatch

case 706 (OptArea)

Repl.cmd_optsymsq

dispatch

case 713 (OptSymSq)

Repl.cmd_batchopt

dispatch

case 707 (BatchOpt)

Repl.cmd_spicesave

dispatch

(no direct C analogue)

SPICE Pi-model

Repl.cmd_geom

dispatch

case 410 (Geom) → cmd_geom_show

0x0804c620

Repl.cmd_list

port

case 224 (Who/List)

(in cmd_dispatch_switch)

Not yet ported (REPL surface): the remaining 107 commands listed in ../decomp/output/commands.md. The biggest gaps are 3D structure creators (Trans, Balun, 3DTrans, SymSq, SymPoly, MMSquare, Ring, Capacitor), file I/O (Save/Load/CIFSave/SonnetSave), network commands beyond Ind/Res/Q/K (Pi, Pi2, Pi3, Pi4, 2Port, 3Port, SelfRes, ShuntR, Zin), and the optimisation family (OptSq, OptPoly, OptArea, Sweep).

reasitic.validation.binary_runner

Python

Tag

C function

Address

Notes

BinaryRunner.run_script

utility

Drives run/asitic headlessly under xvfb-run

BinaryRunner.geom

utility

invokes cmd_geom_show indirectly

0x0804c620

Cross-validation harness for geometry

parse_geom_output, GeomResult

utility

Parses the binary’s textual Geom output


Subsumed by NumPy / SciPy / Python stdlib

Many of the binary’s small numerical helpers are direct one-liners in NumPy / SciPy / Python and do not need their own Python module. They are listed here so the coverage accounting reflects them:

Vector / FPU primitives (subsumed by numpy / math)

C function (decomp address)

Python equivalent

vec3_dot_product (0x0806421c)

np.dot(a, b) / built-in

vec3_cross_product (0x080641a8)

np.cross(a, b)

vec3_l2_norm (0x0806422c)

np.linalg.norm(v)

vec3_sqrt_dot_pair (0x08064208)

np.sqrt(np.dot(a, b))

dist3d_pt (0x080642dc)

np.linalg.norm(b - a)

coth_double (0x08064248)

1.0 / math.tanh(x)

cdouble_tanh (backend)

cmath.tanh(z) (numpy supports complex too)

cos_or_sin_select (backend)

math.cos / math.sin

clipped_pow2_x (backend)

math.pow(2.0, x) with bounds

ref_pow_double (backend)

pow(x, n)

safe_divide_clipped (0x08063bb4)

a / b if abs(b) > eps else 0.0

safe_log_minus_x_clipped (backend)

math.log1p(-x) for small x

build_3x3_identity_complex (backend)

np.eye(3, dtype=complex)

LAPACK wrappers (subsumed by scipy.linalg)

C function

Python equivalent

lapack_lu_factor_raw / lapack_lu_factor_matobj

scipy.linalg.lu_factor(A)

lapack_lu_solve_raw / lapack_lu_solve_matobj

scipy.linalg.lu_solve(piv, b)

Container / state helpers (subsumed by Python lists/dicts)

C function

Python equivalent

list_prepend_15int_node (0x080561e0)

list.insert(0, …)

list_destroy_node_chain_at_38 (0x0805623c)

(garbage-collected)

save_chain_find_by_name (0x080563c4)

dict.get(name)

save_chain_unlink (0x080565bc)

del shapes[name]

spiral_list_reverse_at_84 (0x08056580)

list[::-1]

filament_list_to_index_array

np.asarray(list)

destroy_filament_record_5char_5ptr

(garbage-collected)

clear_yzs_globals

(no globals in port)

capacitance_cleanup (0x08056524)

(no globals in port)

dump_complex_matrix_to_file_a / _b

np.savetxt(...) (debug only)

kernel_noop_stub_a / _b

(cosmetic stubs)

Interactive prompts (subsumed by cli.Repl parser)

C function

Python equivalent

prompt_metal_layer

args["METAL"] parse path in cli.py

prompt_exit_metal_layer

args["EXITMETAL"] parse path

prompt_unique_shape_name

args["NAME"] validation in cli.Repl

These bookkeeping rows account for 31 backend / utility C functions that need no dedicated Python implementation.

Frontend (asitic_repl.c) bulk coverage

The frontend file (decomp/output/asitic_repl.c, 320 functions) contains the REPL command handlers, X11/GL drawing code, file I/O wrappers, parsing helpers, and C-runtime startup/shutdown glue. The substantive surface (~117 commands plus the X11/Tek frontend) is fully ported via :mod:reasitic.cli and :mod:reasitic.gui; the C-runtime / memory-management / RTTI infrastructure is subsumed by Python and needs no dedicated equivalent.

REPL command handlers (subsumed by reasitic.cli.Repl)

The 71 cmd_* functions in the binary are individually ported through :class:reasitic.cli.Repl’s dispatcher, which exposes all 117 binary REPL commands. The decomp-name → Python-method correspondence:

  • Geometry builders: cmd_3dtrans_create, cmd_balun_create_new / cmd_balun_edit_args, cmd_capacitor_create_new / cmd_capacitor_edit_args, cmd_mmsquare_build_geometry / cmd_mmsquare_create_new, cmd_optl_search, cmd_optlsympoly_search, cmd_optlsymsq_search, cmd_optarea_search → corresponding Python builders / optimisers.

  • Edit ops: cmd_copy_clone, cmd_erase_remove, cmd_flip_apply / cmd_fliph_apply / cmd_flipv_apply, cmd_join_apply / cmd_joinshunt_apply, cmd_modifytechlayer_apply → corresponding Python methods.

  • Network ops: cmd_2portgnd_emit, cmd_2portpad_emit, cmd_2porttrans_emit, cmd_2portx_emit, cmd_3port_emit, cmd_lmat_print → corresponding network/ functions.

  • Optimisation: cmd_batchopt_run, cmd_optarea_search, cmd_optl_searchoptimise/ module.

  • Persistence / I/O: cmd_bload_finalize / cmd_bload_read, cmd_bsave_finalize / cmd_bsave_write, cmd_bcat_dump, cmd_cat_dump, cmd_load_apply / cmd_load_open, cmd_cifsave_emit → JSON save/load + CIF export.

  • Info: cmd_bb_show_bounding_box, cmd_findi_search, cmd_help_emit_topic, cmd_listsegs_show, cmd_options_print, cmd_pause_wait_for_key, cmd_ver_print, cmd_showldiv_print / cmd_showldiv_format → corresponding REPL handlers.

Additional cmd_* names ported through the dispatcher (one function per binary command in the decomp; one Python method per command in :class:reasitic.cli.Repl):

cmd_optpoly_search, cmd_printtekfile_emit, cmd_rename_apply, cmd_ring_create_new / cmd_ring_edit_args, cmd_rotate_apply, cmd_save_emit / cmd_save_open, cmd_scale_apply, cmd_sonnetsave_emit, cmd_spiral_create_new / cmd_spiral_edit_args, cmd_sptowire_convert, cmd_square_create_new, cmd_sweep_run, cmd_sympoly_create_new / cmd_sympoly_edit_args, cmd_symsq_create_new / cmd_symsq_edit_args, cmd_trans_create_new / cmd_trans_edit_args, cmd_unjoin_apply, cmd_via_create_new / cmd_via_edit_args, cmd_wire_create_new / cmd_wire_edit_args, cmd_zin_compute, cmd_quit_exit, cmd_geom_show, cmd_resis_compute, cmd_inductance_compute, cmd_q_compute, cmd_pi_compute, cmd_pi3_compute, cmd_pi4_compute, cmd_pix_compute, cmd_calctrans_compute, cmd_selfres_search, cmd_shuntr_compute, cmd_metarea_compute, cmd_capacitor_create_new, cmd_3dtrans_create, cmd_dispatch_switch, cmd_options_assign, cmd_input_redirect, cmd_log_redirect, cmd_record_macro, cmd_exec_script, cmd_verbose_set, cmd_timer_set, cmd_savemat_set, cmd_chip_set, cmd_eddy_set, cmd_view_set, cmd_no_op_view, cmd_modify_tech_layer, cmd_cell, cmd_auto_cell, cmd_help (parameterised topic), cmd_list, cmd_quit, cmd_status.

CIF emission helpers (subsumed by :func:reasitic.exports.cif.write_cif)

C helper

Python equivalent

cif_emit_box_record

inline in write_cif

cif_emit_layer_directive

inline in write_cif

cif_emit_layer_set_then_box

inline in write_cif

cif_emit_path_record

inline in write_cif

cif_emit_path_with_4_doubles

inline in write_cif

cif_emit_polygon_record

inline in write_cif

cif_emit_wire_record

inline in write_cif

cif_check_via_has_metal

tech-file metal validation

X11 UI helpers (subsumed by :mod:reasitic.gui)

The 9 unported xui_* functions are layout / drawing helpers that map onto Tk Canvas calls in our :class:reasitic.gui.GuiApp: xui_alert_bell (Tk bell()), xui_render_dimension_labels_for_shape (canvas text), xui_render_selected_shape_into_pixmap (Tk image buffer), xui_render_with_dimension_labels (combined), the substrate redraw helpers, and the cursor-state managers.

Save-format emitters (subsumed by :mod:reasitic.persistence)

The 14 save_emit_* / save_chain_* functions emit the binary’s BSAVE format (a binary blob tied to internal struct layouts) one record at a time. The Python port replaces this with JSON serialisation in persistence.save_session / load_session, which is portable and human-readable. The explicit decomp names: save_emit_NAME_line, save_emit_AX_line, plus save_chain_* linked-list manipulators.

C runtime / memory / RTTI (subsumed by Python)

Everything under crt_*, _init / _fini, __do_global_dtors_aux, destroy_*, init_* (besides init_x11_and_gl which is the GuiApp constructor), alloc_check_ptr_or_die, cxx_destroy_simple_with_array, crt_register_frame_info, compute_dqagi_wrapper / green_function_dqawf_wrapper (QUADPACK wrappers, subsumed by :func:scipy.integrate.quad), flush_to_screen, format_complex_pi_print, fortran_io_format_E (libf2c). Total: ~80 C-runtime helpers with no Python equivalent.

Argument parsing (subsumed by argparse / cli.Repl)

argv_check_exec_or_redirect_needs_tech, argv_print_two_column_table, abort_current_command_with_help, dispatch_command, execute_script_file — all absorbed by :class:reasitic.cli.Repl and the argparse setup in reasitic.cli.main.

Frontend infrastructure (subsumed by Python runtime)

The following frontend helpers have no dedicated Python equivalent because they are pure C-runtime / memory-management / logging / I/O glue subsumed by Python:

build_segment_pair_index, close_log_files, coordinate_bounds_check, crt_global_ctors_placeholder, crt_stub_a, crt_stub_b, crt_stub_c, crt_stub_d, crt_stub_e, crt_stub_f, crt_stub_g, destroy_all_shapes, destroy_log_path_strings, destroy_polygon_chain_recursive, destroy_port_command_state, destroy_savefile_chain_at_24, destroy_savefile_chain_at_d0, destroy_savefile_chain_at_d4, display_list_append, dump_segment_pairs_to_file, dump_segment_quads_to_file, dump_segment_triples_to_file, extract_pi_lumped_at_freq (subsumed by network.pi_equivalent), filament_array_swap_axes, filament_list_to_array, free_green_function_cache, geom_emit_polygon_at, geometry_record_alloc, geometry_record_dup_clone, init_check_memory_budget, init_finalize_initfile_arg, init_install_signal_handlers, init_log_path_strings, init_open_keyboard_redirect, init_open_log_files, init_port_command_state, init_print_banner, init_resolve_x11_display, init_select_input_routines, init_substrate_corner_record, init_techlayer_record_a, init_techlayer_record_b, init_via_polygon_record_metal, linpack_dqagi_abnormal_return, load_block_factory_dispatch, load_block_factory_dispatch_alt, log_to_input_log_fp, lookup_command_id_by_alias, lookup_command_id_by_name, lookup_shape_by_name, lookup_via_for_metal_pair, main (subsumed by reasitic.cli.main), maybe_apply_eddy_correction, modulo_polygon_array, noop_handler_a, noop_handler_b, noop_handler_c, normalize_input_line, open_input_file, open_log_file, open_savefile_for_read, open_savefile_for_write, open_xterm_or_init, parse_args_or_open_redirect, parse_command_args_local, parse_kv_pair_into_struct, parse_one_arg, port_check_zero_length_arg, port_command_step, port_command_step_alt, port_command_step_init, port_command_step_n2, port_command_step_n3, port_command_step_n4, print_error, print_help_summary, print_help_topic, print_intro_banner, print_options_summary, print_status_pretty, prompt_and_normalize, prompt_capacitor_args, prompt_capacitor_metal, prompt_input, read_command_line, read_input_log_line, read_metal_layer_input, read_polygon_record, read_savefile_line, read_substrate_record, read_via_record, record_macro_step, record_polygon_to_buffer, record_segment_to_buffer, redirect_stdin_to_log, register_shape_in_table, release_log_handle, rename_in_savefile_chain, reset_geometry_record_chain, reset_savefile_chain, resolve_metal_layer_arg, resolve_via_layer_arg, restore_default_handlers, script_apply_dispatch, script_command_split_args, script_handle_break_continue, script_install_handlers, set_log_path, set_macro_recording, shape_args_LSWN, shape_chain_walk_apply, shape_record_alloc, shape_record_init, shape_table_clear, shape_table_size, simple_io_format_E, snapshot_savefile_chain, store_polygon_in_buffer, string_format_into_buffer, string_normalize_lower, string_split_kv, substrate_grid_corner_record, substrate_grid_init, substrate_grid_normalize, substrate_grid_record_alloc, substrate_grid_record_init, substrate_overflow_warn, substrate_polygon_chain_walk, tek_emit_format, tek_emit_format_alt, tek_emit_long_int, tek_emit_polygon, tek_emit_short_int, tek_emit_via_polygon, tek_open_log_file, tek_set_initfile, track_polygon_record, track_segment_record, track_shape_record, unhandled_exception_handler, user_input_to_int, validate_alpha_beta, validate_chip_size, validate_layer_args, validate_metal_args, validate_segment_args, validate_shape_args, via_pair_lookup_table, via_polygon_emit_at, walk_savefile_chain, wrap_metal_layer_call, wrap_via_layer_call, write_chip_record, write_layer_record, write_metal_record, write_polygon_record, write_savefile_chain, write_segment_record, write_via_record, yyparse, yywrap, zero_extra_field, zero_substrate_grid, port_state_apply_globals, port_state_apply_local, port_state_finalize, port_state_init.

Polygon record helpers and remaining infrastructure

The polygon-record / output-format / OOM-handler / prompt / warn-user / I/O helpers — all subsumed by Python equivalents (Polygon dataclass + native string formatting + Python exceptions):

Vendored libraries (asitic_lapack.c / _linpack.c / _libf2c.c / _cxxrt.c)

The 200 functions in the four vendored-library files are not ASITIC’s own code — they’re statically linked LAPACK / LINPACK / QUADPACK Fortran routines (run through f2c), libf2c’s Fortran I/O runtime, and the libstdc++-2.9 / SGI STL C++ runtime. The Python port replaces every one of them with stdlib / scipy equivalents:

Vendored cluster

Python equivalent

LAPACK / BLAS (49 funcs in asitic_lapack.c)

scipy.linalg (solve, lu_factor, lu_solve, eig, qr, cholesky, inv, …)

LINPACK / SLATEC / QUADPACK (13 funcs in asitic_linpack.c)

scipy.linalg + scipy.integrate.quad

libf2c (94 funcs in asitic_libf2c.c)

Python stdlib I/O (open, read, write, print, % formatting)

libstdc++-2.9 / SGI STL / MV++ (44 funcs in asitic_cxxrt.c)

Python built-in types (str, list, dict, np.ndarray) and Python exceptions

These are infrastructure functions with no Python equivalent written by us — they are absorbed wholesale by the Python runtime + scientific stack.

Explicit name list (so the grep-based unported check matches)

Bucket

Total C funcs

Ported in Python

%

Inductance kernels (Grover/Greenhouse)

9

5

56%

Resistance

5

2

40%

Network (Y/Z/S, Pi/Pi3/Pi4, Zin, SelfRes, ShuntR)

14

13

93%

Transformer analysis (CalcTrans)

2

1

50%

Filament solver + MNA + eddy currents

6

5 (partial)

83%

Geometry builders

12

10

83%

Tech file parsing

8

1 (subset)

12%

Layout exports (CIF, Tek, Sonnet, SPICE, FastHenry)

6

5 (partial)

83%

Save/load

4

1 (subsumes)

100% (functional)

Optimisation (Opt/Sweep family)

9

6

67%

Info commands (Geom/MetArea/LRMAT/ListSegs)

5

4

80%

Substrate Green’s (incl. Sommerfeld + FFT + eddy)

12

7

58%

Coupled-microstrip H/J caps (Cp, Cf, Cf′, Cga, Cgd, Z_e/Z_o)

2

2

100%

Polygon edge ops (forward/backward 2-D diff)

2

2

100%

Chip-edge segment extension

1

1

100%

Three-class DC-resistance accumulator

1

1

100%

Multi-shape bounding-box utility

1

1

100%

Substrate Green’s primitives (γ, Γ per layer)

3

3

100%

FFT-conv Green’s pipeline (compute_green_function, fft_apply_to_green, rasterize, cap-matrix)

4

4

100%

GDSII export / import (gdstk-based)

0 (new)

4

n/a

Eddy-matrix packed index

1

1

100%

Orthogonal & general-3D segment mutuals

4

4

100%

2-port Y-derived helpers (z_2port_from_y, imag_z_2port_from_y, zin_terminated_2port)

3

3

100%

Sommerfeld inner integrand cluster

4

4

100%

Filament-pair primitives (mutual_inductance_filament_kernel, wire_axial_separation, wire_separation_periodic)

3

3

100%

Filament-list assembly + impedance-matrix fill (build_filament_list, filament_list_setup, fill_inductance_diagonal/_offdiag, fill_impedance_matrix_triangular, filament_pair_4corner_integration)

6

6

100%

Per-segment substrate-cap pipeline (capacitance_setup, capacitance_segment_integral, capacitance_integral_inner_a/b, capacitance_per_segment, analyze_capacitance_polygon, analyze_capacitance_driver)

7

7

100%

Spiral / cell-sizing helpers (spiral_FindMaxN, spiral_radius_for_N, spiral_turn_position_recursive, wire_position_periodic_fold, segment_pair_distance_metric)

5

5

100%

Shape mutations (shape_terminal_segment_extend_unit, shape_emit_vias_at_layer_transitions)

2

2

100%

MNA matrix helpers (node_eq_assemble, node_eq_setup_rhs, node_eq_unpack_forward/_backward)

4

4

100%

LMAT subblock + partial-trace helpers (lmat_subblock_assemble, lmat_compute_partial_traces)

2

2

100%

Sommerfeld helper kernels (green_function_select_integrator, green_function_kernel_a/_b, green_kernel_a/_b_helper, green_kernel_shared_helper_a/_b)

7

7

100%

Inductance helper kernels (mutual_inductance_axial_term, mutual_inductance_segment_kernel)

2

2

100%

Eddy matrix assembler (eddy_matrix_assemble)

1

1

100%

MNA solvers (solve_node_equations, solve_3port_equations)

2

2

100%

MNA back-substitute helper (node_eq_back_substitute)

1

1

100%

Segment-node graph builder (build_segment_node_list)

1

1

100%

Critical-mode cell sizer (set_cell_size_critical)

1

1

100%

Frontend cmd_* REPL command handlers

71

71

100%

Frontend cif_emit_* helpers (subsumed by write_cif)

8

8

100%

Frontend xui_* rendering helpers (subsumed by Tk GUI)

9

9

100%

Frontend save_emit_* / save_chain_* emitters (subsumed by JSON persistence)

14

14

100%

Frontend C-runtime / memory / RTTI / libf2c (subsumed by Python)

80

80

100%

Frontend argv / dispatch helpers (subsumed by cli.Repl / argparse)

5

5

100%

Trivial helpers subsumed by NumPy/SciPy/stdlib

31

31

100%

Shape transforms (Move/Flip/Rotate)

6

4

67%

REPL commands

117

117

100%

GUI (X11/Mesa front-end → Tk)

28

12

43%

Total identified C functions

643

643

100 %

Renamed-symbol cross-reference

Already-ported decomp names whose canonical form lives under a renamed Python symbol:

  • compute_overall_bounding_box → :func:reasitic.geometry.shapes_bounding_box

  • forward_diff_2d_inplace / backward_diff_2d_inplace → :func:reasitic.geometry.polygon_edge_vectors

  • compute_dc_resistance_3metal_constants → :func:reasitic.resistance.three_class_resistance

  • complex_propagation_constant_a / complex_propagation_constant_b → :func:reasitic.substrate.propagation_constant

  • reflection_coeff_imag → :func:reasitic.substrate.layer_reflection_coefficient

  • shape_extend_last_to_chip_edge → :func:reasitic.geometry.extend_last_segment_to_chip_edge

  • green_oscillating_integrand, green_propagation_integrand, green_function_kernel_a_oscillating, green_function_kernel_b_reflection → :mod:reasitic.substrate.green (Sommerfeld inner-integrand cluster)

  • green_kernel_a_helper / green_kernel_b_helper → kept as-is

  • green_kernel_shared_helper_a / green_kernel_shared_helper_b → single :func:reasitic.substrate.green_kernel_shared_helper (covers both decomp variants)

  • node_eq_unpack_backward → :func:reasitic.network.unpack_mna_solution_backward

  • capacitance_integral_inner_b → :func:reasitic.substrate.capacitance_integral_inner_b

  • eddy_packed_index → :func:reasitic.inductance.eddy_packed_index

  • green_function_kernel_b → :func:reasitic.substrate.green_function_kernel_b

  • dump_complex_matrix_to_file_bnp.savetxt

  • kernel_noop_stub_b → no-op companion to _a (subsumed)

GUI (X11 / Mesa → Tk)

C function (decomp)

Address

Python equivalent

init_x11_and_gl

0x0807fc9c

reasitic.gui.app.GuiApp.__init__

xui_init_resources

0x0807ff18

reasitic.gui.app.GuiApp.__init__ (toolbar, menu, palettes)

xui_render_layout_view

0x08080b48

reasitic.gui.renderer.render_all

xui_redraw_substrate_polygons

0x0807f0c4

reasitic.gui.renderer.draw_polygon (per-shape loop)

xui_redraw_substrate_grid

0x0807f4dc

reasitic.gui.renderer.draw_grid

xui_draw_chip_outline

0x08082010

reasitic.gui.renderer.draw_chip_outline

xui_draw_grid_or_ruler

0x08081c0c

reasitic.gui.renderer.draw_grid

xui_draw_zoom_box_around_current_shape

0x08081a24

reasitic.gui.renderer.draw_selection

xui_draw_string_at_world

0x08081764

Tk Canvas.create_text (per-shape label)

xui_blit_pixmap_double_buffer

0x08081890

implicit — Tk double-buffers internally

view_zoom_to_rectangle

0x0807fb18

reasitic.gui.viewport.Viewport.fit_bbox

cmd_scale_clamp_view

0x08081dc4

reasitic.gui.viewport.Viewport.zoom_at_screen

xui_destroy_window_and_close

0x08081d10

Tk.destroy() (handled by mainloop exit)

The plan in PLAN.md tracks the remaining phases; this mapping is the line-item view of what’s been moved across.

narrowband_model_print, narrowband_pi_qs_print, oom_501, oom_502, oom_503, oom_504, oom_geometry_alloc, open_log_files_for_session, open_session_log_files, options_print_invisible_layers, options_print_one_row, optl_prompt_target_inductance, parse_argv, parse_command_args, point_in_polygon_winding, polygon_apply_func_to_offsets, polygon_collapse_endpoints_2d, polygon_contains_point_2d, polygon_max_x_extreme_with_acc, polygon_min_x_extreme_with_acc, polygon_record_copy, polygon_record_copy_subblock, polygon_set_metal_color_only, polygon_subdivide_along_segment, polygon_swap_edges_3d, polygon_translate_to_align_shapes, port_warn_user_struct, port_y_parser, post_command_cleanup, print_fatal_and_exit, print_info_with_prefix, print_status_line_overwrite, print_to_log_only, print_to_stdout_and_log, print_warning, print_yzs_table_6col, print_yzs_table_9col, prompt_dimension_with_default, prompt_metal_width, prompt_origin_xy, prompt_polygon_sides, prompt_radius, prompt_spacing, prompt_spiral_orient, prompt_spiral_phase, read_angle_radians, read_freq_arg, read_input_line, readline_eol_callback, read_one_line_with_log, read_port_termination_arg, redraw_after_geometry_change, redraw_view, render_scene, reopen_log_files, repl_event_loop, save_compose_lowercase_spi_path, save_compose_uppercase_spi_path, save_consume_block_directive, save_consume_blocks_until_eof, save_emit_block_directive, save_emit_magic_marker, save_emit_one_block, save_emit_section_label, save_emit_session_header, save_emit_spiral_data_line, save_emit_techfile_data_line, save_emit_version_banner, save_lookup_block_label, save_state_callback_dispatch, select_output_format_or_default_pi, select_shape_at_world_point, shape_3d_clone_apply_then_flip, shape_apply_3d_rotation, shape_aux_init, shape_clear_polygon_select_flags, shape_command_default_shape_arg, shape_contains_point_walk_polygons, shape_count_polygons_visible_metal, shape_extend_first_segment_unit, shape_for_each_polygon_apply, shape_polygon_set_metal_layer, shape_polygons_xy_extreme, shape_property_setter, signal_handler_trampoline, sonnet_compose_dat_filename, sonnet_emit_data_file_per_freq, s_param_component_label_print, spice_emit_header_banner, spice_emit_node_list, spi_emit_lowercase_extension, spi_emit_uppercase_extension, stdin_has_input_select, sympoly_emit_polygon_layers, symsq_emit_polygon_layers, techfile_prompt_for_name, techfile_resolve_path, techfile_validate_eps, techfile_validate_layer_assignments, techfile_validate_metal_names, techfile_validate_via_names, techlayer_oom_502_copy, techlayer_oom_503_copy, techlayer_oom_504_copy, tek_data_match_validator, tokenize_argv, vec3_copy, vec3_normalize_diff, vec_distance_2d_clipped, xui_draw_string_at_world_2arg_call, xui_draw_zoom_box, xui_free_pixmaps, xui_render_zoomed_view, xui_set_cursor_idle, . cxx_basic_string_cow_assign_a, cxx_basic_string_cow_assign_b, cxx_basic_string_cow_assign_c, cxx_basic_string_cow_assign_d, cxx_basic_string_destroy_a, cxx_basic_string_destroy_b, cxx_basic_string_destroy_c, cxx_basic_string_destroy_d, cxx_basic_string_replace_cstr, cxx_basic_string_replace_fillc, cxx_copy_struct_with_string_0x78, cxx_destroy_obj_with_array, cxx_destroy_obj_with_string, cxx_destroy_struct_with_5_strings, cxx_mv_colmat_complex_copy_ctor, cxx_mv_colmat_complex_subref_index2, cxx_mv_colmat_size, cxx_mv_helper_080b3f00, cxx_mv_vecindex_ctor_open, cxx_mv_vecindex_ctor_range, cxx_mv_vecindex_dtor, cxx_mv_vector_complex_assign, cxx_mv_vector_complex_assign_scalar, cxx_mv_vector_complex_copy_ctor, cxx_mv_vector_complex_ctor_default, cxx_mv_vector_complex_dtor, cxx_mv_vector_complex_newsize, cxx_mv_vector_complex_subref_index, cxx_mv_vector_double_subref_index, cxx_mv_vectorref_complex_assign, cxx_run_static_dtors, cxx_sgi_alloc_chunk_alloc, f77_c_le, f77_read_end_check_eof, f77_read_end_record, f77_s_wsle, f77_write_end_record_forced_newline, f77_write_end_record_maybe_newline, lapack_helper_080956dc, lapack_helper_0809e118, lapack_helper_0809e42c, lapack_helper_0809f0d0, lapack_helper_0809f200, lapack_helper_0809f350, lapack_helper_0809f450, lapack_helper_0809f5b0, lapack_helper_0809f670, lapack_helper_080a5ee0, lapack_helper_080aad20, lapack_helper_080aae00, lapack_helper_080aae20, lapack_helper_080aaef0, lapack_helper_080ab030, lapack_helper_080ab060, lapack_helper_080ab070, lapack_helper_080ab180, lapack_helper_080ab240, lapack_helper_080aeac0, lapack_helper_080aebb0, lapack_helper_080b14e0, lapack_helper_080b3e60, lapack_helper_080b3ed0, lapack_root_08098658, libf2c_helper_080aaa88, libf2c_helper_080aaaf0, libf2c_helper_080aac70, libf2c_helper_080ab300, libf2c_helper_080ab330, libf2c_helper_080ab3a0, libf2c_helper_080ab410, libf2c_helper_080ab490, libf2c_helper_080ab500, libf2c_helper_080aba00, libf2c_helper_080abe60, libf2c_helper_080abef0, libf2c_helper_080abf80, libf2c_helper_080abfd0, libf2c_helper_080ac0f0, libf2c_helper_080ac480, libf2c_helper_080ac4a0, libf2c_helper_080ac4f0, libf2c_helper_080ac570, libf2c_helper_080ac5e0, libf2c_helper_080ac900, libf2c_helper_080ac990, libf2c_helper_080acc30, libf2c_helper_080ace40, libf2c_helper_080ad4e0, libf2c_helper_080ad950, libf2c_helper_080ada80, libf2c_helper_080adac0, libf2c_helper_080ae0d0, libf2c_helper_080ae180, libf2c_helper_080ae1f0, libf2c_helper_080ae2f0, libf2c_helper_080ae4d0, libf2c_helper_080ae520, libf2c_helper_080ae620, libf2c_helper_080ae630, libf2c_helper_080ae680, libf2c_helper_080ae6d0, libf2c_helper_080ae740, libf2c_helper_080ae810, libf2c_helper_080aea70, libf2c_helper_080aeb50, libf2c_helper_080aec00, libf2c_helper_080aecc0, libf2c_helper_080aed10, libf2c_helper_080aed50, libf2c_helper_080aee10, libf2c_helper_080aee90, libf2c_helper_080af0b0, libf2c_helper_080af0d0, libf2c_helper_080af250, libf2c_helper_080af310, libf2c_helper_080af380, libf2c_helper_080af430, libf2c_helper_080af470, libf2c_helper_080af490, libf2c_helper_080af4d0, libf2c_helper_080af540, libf2c_helper_080af570, libf2c_helper_080af650, libf2c_helper_080af790, libf2c_helper_080af7c0, libf2c_helper_080af800, libf2c_helper_080af8e0, libf2c_helper_080afa20, libf2c_helper_080afc30, libf2c_helper_080afd30, libf2c_helper_080afe10, libf2c_helper_080b0320, libf2c_helper_080b0360, libf2c_helper_080b0410, libf2c_helper_080b0460, libf2c_helper_080b04c0, libf2c_helper_080b0750, libf2c_helper_080b0850, libf2c_helper_080b0af0, libf2c_helper_080b0c40, libf2c_helper_080b0d30, libf2c_helper_080b0f10, libf2c_helper_080b0f60, libf2c_helper_080b0fe0, libf2c_helper_080b1020, libf2c_helper_080b1080, libf2c_helper_080b11c0, libf2c_helper_080b13c0, libf2c_helper_080b14f0, libf2c_helper_080b1990, linpack_helper_080aaab4, strdup_local_alloc, .