# Before we start

## beLow - Comprehensive Optimization Suite

beLow is a comprehensive optimization suite designed for **embedded and hosted C/C++ applications.** Get deep insights into performance, identify bottlenecks, and apply automated optimizations.

### Core Capabilities:

{% columns %}
{% column %}

#### Performance Analysis

* Deep insights into code execution patterns
* Bottleneck identification
* Optimization potential assessment
* Detailed metrics and profiling data
  {% endcolumn %}

{% column %}

#### Automated Optimization

* Access to multiple algorithmic optimization techniques
* Rapid optimization application
* Real-time performance feedback
* Iterative refinement
  {% endcolumn %}
  {% endcolumns %}

### Optimization Families

beLow analyzes your code and applies optimizations across five key families:

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Memory Management</strong> </td><td>Reduce allocations, eliminate unnecessary copies, improve cache performance, and boost CPU efficiency through better memory usage.</td></tr><tr><td><strong>Arithmetic &#x26; Mathematical</strong></td><td>Use appropriate data types, replace expensive operations, and leverage hardware capabilities for faster math on embedded processors.</td></tr><tr><td><strong>Loop &#x26; Vectorization</strong></td><td>Transform loops for parallel execution with SIMD instructions and better utilization of modern processor capabilities.</td></tr><tr><td><strong>Compiler &#x26; Code Gen</strong></td><td>Optimize control flow and function calls for more efficient assembly code and processor-specific optimizations.</td></tr><tr><td><strong>Type System &#x26; Casting</strong></td><td>Eliminate hidden type conversions and enable architecture-specific features for your target embedded platform.</td></tr></tbody></table>

Each optimization is categorized by quality impact—bit-exact (no quality loss), permissive (identical quality but different computation type), or lossy (quality loss). beLow generates SNR metrics so you can verify quality loss is acceptable for your application.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wedolow.com/documentation/below/before-we-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
