# Inverse function explorer

- Human page: https://happytails.ai/en/calculators/inverse-function-explorer/
- Markdown: https://happytails.ai/en/calculators/inverse-function-explorer.md
- Structured JSON: https://happytails.ai/agents/en/calculators/inverse-function-explorer/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `inverse-function-explorer` |
| Category | calculators |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Checks one-to-one behaviour exactly on your device and solves for the inverse, for expressions up to 1,000 characters.

### Inputs and settings

Text input: Function.

Example or placeholder shown in the interface (not a validated fixture):

```text
x^2 - 4x + 1
```

Use one variable, such as x, with ^ for powers. Up to 1,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `domain` | Restrict the domain (optional) | text | "" |  |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Functions are limited to 1,000 characters, one variable, 24 nesting levels and 100 digits per number; the restriction is limited to 200 characters with exact numbers. Everything is computed on your device in a background worker with a 15 second limit. Downloads are a JSON report, a CSV of round trips and an SVG plot.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "inverse-function-explorer",
  "category": "calculators",
  "built": true,
  "requirements": "Functions are limited to 1,000 characters, one variable, 24 nesting levels and 100 digits per number; the restriction is limited to 200 characters with exact numbers. Everything is computed on your device in a background worker with a 15 second limit. Downloads are a JSON report, a CSV of round trips and an SVG plot.",
  "implementation": {
    "fields": [
      {
        "key": "domain",
        "label": "Restrict the domain (optional)",
        "value": "",
        "type": "text",
        "maxLength": 200,
        "help": "Optional, such as x >= 0, -2 <= x < 3 or [0, inf). Leave empty to use the natural domain."
      }
    ],
    "presentation": "metrics",
    "inputCodeDirection": "ltr",
    "registrationFamily": "exact-math-functions",
    "inputMaxLength": 1000,
    "inputErrorCode": "EXACT_MATH_FUNCTIONS_EXPRESSION_TOO_LONG",
    "note": "Checks one-to-one behaviour exactly on your device and solves for the inverse, for expressions up to 1,000 characters.",
    "experience": {
      "automatic": false,
      "single": true,
      "inputMaxLength": 1000,
      "inputMode": "text",
      "label": "Function",
      "placeholder": "x^2 - 4x + 1",
      "help": "Use one variable, such as x, with ^ for powers. Up to 1,000 characters. Review the settings before running.",
      "helpParts": [
        "Use one variable, such as x, with ^ for powers.",
        "Up to 1,000 characters.",
        "Review the settings before running."
      ],
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Check whether a function is one-to-one on its domain or on a restriction you choose, and solve for its exact inverse. When it is not one-to-one, the report gives two inputs with the same output.

### How to use Inverse function explorer

1. Type the function, such as x^2 - 4x + 1.
2. Optionally restrict the domain, such as x >= 2.
3. Run the explorer and read the one-to-one result, the inverse formula and the domain of the inverse.
4. Download the JSON report, the CSV of round trips or the plot.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

## Useful next steps

- [Graphing calculator](https://happytails.ai/en/calculators/graphing-calculator/) ([Markdown](https://happytails.ai/en/calculators/graphing-calculator.md))

- [Slope calculator](https://happytails.ai/en/calculators/slope-calculator/) ([Markdown](https://happytails.ai/en/calculators/slope-calculator.md))

- [Quadratic formula calculator](https://happytails.ai/en/calculators/quadratic-formula/) ([Markdown](https://happytails.ai/en/calculators/quadratic-formula.md))

Functions are limited to 1,000 characters, one variable, 24 nesting levels and 100 digits per number; the restriction is limited to 200 characters with exact numbers. Everything is computed on your device in a background worker with a 15 second limit. Downloads are a JSON report, a CSV of round trips and an SVG plot.

## One-to-one test

For polynomial and rational functions the tool checks the sign of the derivative exactly on every piece of the domain and compares the images of the pieces. If the function turns around, it reports two inputs with the same output as a witness. For expressions where the variable appears once, each step such as exp, ln or sqrt is strictly monotone, and abs or even powers are checked for a sign change. Method: OpenStax, College Algebra 2e, section 3.7 Inverse Functions (2021).

### Solving for the inverse

The equation y = f(x) is solved exactly when the supported form is linear or quadratic in x. A quadratic branch is emitted only when its sign is proved on every allowed domain cell. If different pieces need different branches, the report says branch-not-determined and leaves the formula empty. Sample round trips are evidence only. Single-occurrence expressions are inverted step by step, and the inverse domain is the exact supported range of f.

### Limits of the method

Piecewise inverse formulas, cubic or higher formulas and expressions such as x\*exp(x) or sin(x) are not written out. One-to-one status and inverse formula status are separate: an inverse can exist while this method cannot express it. The plot and the numerical round trips are evidence, not proof.
