bug500 (missed optimization)

Percentage Accurate: 68.8% → 98.9%
Time: 7.2s
Alternatives: 8
Speedup: 51.5×

Specification

?
\[\sin x - x \]

Your Program's Arguments

Results

Enter valid numbers for all inputs

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 8 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Alternative 1: 98.9% accurate, 0.3× speedup?

\[-0.16666666666666666 \cdot {x}^{3} + \left(0.008333333333333333 \cdot {x}^{5} + -0.0001984126984126984 \cdot {x}^{7}\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 99.4%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3} + \left(0.008333333333333333 \cdot {x}^{5} + -0.0001984126984126984 \cdot {x}^{7}\right)} \]
  3. Final simplification99.4%

    \[\leadsto -0.16666666666666666 \cdot {x}^{3} + \left(0.008333333333333333 \cdot {x}^{5} + -0.0001984126984126984 \cdot {x}^{7}\right) \]

Alternative 2: 98.5% accurate, 0.5× speedup?

\[\mathsf{fma}\left(-0.16666666666666666 \cdot \left(x \cdot x\right), x, 0.008333333333333333 \cdot {x}^{5}\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 99.2%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5}} \]
  3. Step-by-step derivation
    1. add-cube-cbrt98.6%

      \[\leadsto \color{blue}{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}} \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right) \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. pow398.6%

      \[\leadsto \color{blue}{{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    3. *-commutative98.6%

      \[\leadsto {\left(\sqrt[3]{\color{blue}{{x}^{3} \cdot -0.16666666666666666}}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    4. cbrt-prod98.1%

      \[\leadsto {\color{blue}{\left(\sqrt[3]{{x}^{3}} \cdot \sqrt[3]{-0.16666666666666666}\right)}}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    5. rem-cbrt-cube98.3%

      \[\leadsto {\left(\color{blue}{x} \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
  4. Applied egg-rr98.3%

    \[\leadsto \color{blue}{{\left(x \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
  5. Step-by-step derivation
    1. unpow-prod-down98.2%

      \[\leadsto \color{blue}{{x}^{3} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. cube-mult98.2%

      \[\leadsto \color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    3. rem-cube-cbrt99.2%

      \[\leadsto \left(x \cdot \left(x \cdot x\right)\right) \cdot \color{blue}{-0.16666666666666666} + 0.008333333333333333 \cdot {x}^{5} \]
    4. associate-*l*99.2%

      \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  6. Applied egg-rr99.2%

    \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  7. Step-by-step derivation
    1. *-commutative99.2%

      \[\leadsto \color{blue}{\left(\left(x \cdot x\right) \cdot -0.16666666666666666\right) \cdot x} + 0.008333333333333333 \cdot {x}^{5} \]
    2. fma-def99.2%

      \[\leadsto \color{blue}{\mathsf{fma}\left(\left(x \cdot x\right) \cdot -0.16666666666666666, x, 0.008333333333333333 \cdot {x}^{5}\right)} \]
  8. Applied egg-rr99.2%

    \[\leadsto \color{blue}{\mathsf{fma}\left(\left(x \cdot x\right) \cdot -0.16666666666666666, x, 0.008333333333333333 \cdot {x}^{5}\right)} \]
  9. Final simplification99.2%

    \[\leadsto \mathsf{fma}\left(-0.16666666666666666 \cdot \left(x \cdot x\right), x, 0.008333333333333333 \cdot {x}^{5}\right) \]

Alternative 3: 98.6% accurate, 0.5× speedup?

\[-0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 99.2%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5}} \]
  3. Final simplification99.2%

    \[\leadsto -0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5} \]

Alternative 4: 98.5% accurate, 0.9× speedup?

\[0.008333333333333333 \cdot {x}^{5} + x \cdot \left(x \cdot \left(-0.16666666666666666 \cdot x\right)\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 99.2%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5}} \]
  3. Step-by-step derivation
    1. add-cube-cbrt98.6%

      \[\leadsto \color{blue}{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}} \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right) \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. pow398.6%

      \[\leadsto \color{blue}{{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    3. *-commutative98.6%

      \[\leadsto {\left(\sqrt[3]{\color{blue}{{x}^{3} \cdot -0.16666666666666666}}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    4. cbrt-prod98.1%

      \[\leadsto {\color{blue}{\left(\sqrt[3]{{x}^{3}} \cdot \sqrt[3]{-0.16666666666666666}\right)}}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    5. rem-cbrt-cube98.3%

      \[\leadsto {\left(\color{blue}{x} \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
  4. Applied egg-rr98.3%

    \[\leadsto \color{blue}{{\left(x \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
  5. Step-by-step derivation
    1. unpow-prod-down98.2%

      \[\leadsto \color{blue}{{x}^{3} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. cube-mult98.2%

      \[\leadsto \color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    3. rem-cube-cbrt99.2%

      \[\leadsto \left(x \cdot \left(x \cdot x\right)\right) \cdot \color{blue}{-0.16666666666666666} + 0.008333333333333333 \cdot {x}^{5} \]
    4. associate-*l*99.2%

      \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  6. Applied egg-rr99.2%

    \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  7. Taylor expanded in x around 0 99.2%

    \[\leadsto x \cdot \color{blue}{\left(-0.16666666666666666 \cdot {x}^{2}\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  8. Step-by-step derivation
    1. unpow299.2%

      \[\leadsto x \cdot \left(-0.16666666666666666 \cdot \color{blue}{\left(x \cdot x\right)}\right) + 0.008333333333333333 \cdot {x}^{5} \]
    2. *-commutative99.2%

      \[\leadsto x \cdot \color{blue}{\left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
    3. associate-*l*99.1%

      \[\leadsto x \cdot \color{blue}{\left(x \cdot \left(x \cdot -0.16666666666666666\right)\right)} + 0.008333333333333333 \cdot {x}^{5} \]
    4. *-commutative99.1%

      \[\leadsto x \cdot \left(x \cdot \color{blue}{\left(-0.16666666666666666 \cdot x\right)}\right) + 0.008333333333333333 \cdot {x}^{5} \]
  9. Simplified99.1%

    \[\leadsto x \cdot \color{blue}{\left(x \cdot \left(-0.16666666666666666 \cdot x\right)\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  10. Final simplification99.1%

    \[\leadsto 0.008333333333333333 \cdot {x}^{5} + x \cdot \left(x \cdot \left(-0.16666666666666666 \cdot x\right)\right) \]

Alternative 5: 98.5% accurate, 0.9× speedup?

\[0.008333333333333333 \cdot {x}^{5} + x \cdot \left(-0.16666666666666666 \cdot \left(x \cdot x\right)\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 99.2%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3} + 0.008333333333333333 \cdot {x}^{5}} \]
  3. Step-by-step derivation
    1. add-cube-cbrt98.6%

      \[\leadsto \color{blue}{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}} \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right) \cdot \sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. pow398.6%

      \[\leadsto \color{blue}{{\left(\sqrt[3]{-0.16666666666666666 \cdot {x}^{3}}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    3. *-commutative98.6%

      \[\leadsto {\left(\sqrt[3]{\color{blue}{{x}^{3} \cdot -0.16666666666666666}}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    4. cbrt-prod98.1%

      \[\leadsto {\color{blue}{\left(\sqrt[3]{{x}^{3}} \cdot \sqrt[3]{-0.16666666666666666}\right)}}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    5. rem-cbrt-cube98.3%

      \[\leadsto {\left(\color{blue}{x} \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
  4. Applied egg-rr98.3%

    \[\leadsto \color{blue}{{\left(x \cdot \sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
  5. Step-by-step derivation
    1. unpow-prod-down98.2%

      \[\leadsto \color{blue}{{x}^{3} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3}} + 0.008333333333333333 \cdot {x}^{5} \]
    2. cube-mult98.2%

      \[\leadsto \color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot {\left(\sqrt[3]{-0.16666666666666666}\right)}^{3} + 0.008333333333333333 \cdot {x}^{5} \]
    3. rem-cube-cbrt99.2%

      \[\leadsto \left(x \cdot \left(x \cdot x\right)\right) \cdot \color{blue}{-0.16666666666666666} + 0.008333333333333333 \cdot {x}^{5} \]
    4. associate-*l*99.2%

      \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  6. Applied egg-rr99.2%

    \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} + 0.008333333333333333 \cdot {x}^{5} \]
  7. Final simplification99.2%

    \[\leadsto 0.008333333333333333 \cdot {x}^{5} + x \cdot \left(-0.16666666666666666 \cdot \left(x \cdot x\right)\right) \]

Alternative 6: 98.0% accurate, 14.7× speedup?

\[\left(x \cdot x\right) \cdot \left(-0.16666666666666666 \cdot x\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 98.8%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3}} \]
  3. Step-by-step derivation
    1. add-sqr-sqrt80.3%

      \[\leadsto \color{blue}{\sqrt{-0.16666666666666666 \cdot {x}^{3}} \cdot \sqrt{-0.16666666666666666 \cdot {x}^{3}}} \]
    2. sqrt-unprod73.0%

      \[\leadsto \color{blue}{\sqrt{\left(-0.16666666666666666 \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)}} \]
    3. pow273.0%

      \[\leadsto \sqrt{\color{blue}{{\left(-0.16666666666666666 \cdot {x}^{3}\right)}^{2}}} \]
  4. Applied egg-rr73.0%

    \[\leadsto \color{blue}{\sqrt{{\left(-0.16666666666666666 \cdot {x}^{3}\right)}^{2}}} \]
  5. Step-by-step derivation
    1. unpow273.0%

      \[\leadsto \sqrt{\color{blue}{\left(-0.16666666666666666 \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)}} \]
    2. *-commutative73.0%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right)} \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)} \]
    3. *-commutative73.0%

      \[\leadsto \sqrt{\left({x}^{3} \cdot -0.16666666666666666\right) \cdot \color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right)}} \]
    4. swap-sqr73.1%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)}} \]
    5. pow-sqr73.0%

      \[\leadsto \sqrt{\color{blue}{{x}^{\left(2 \cdot 3\right)}} \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)} \]
    6. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{\color{blue}{6}} \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)} \]
    7. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{6} \cdot \color{blue}{0.027777777777777776}} \]
  6. Simplified73.0%

    \[\leadsto \color{blue}{\sqrt{{x}^{6} \cdot 0.027777777777777776}} \]
  7. Step-by-step derivation
    1. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{\color{blue}{\left(2 \cdot 3\right)}} \cdot 0.027777777777777776} \]
    2. pow-sqr73.1%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot {x}^{3}\right)} \cdot 0.027777777777777776} \]
    3. metadata-eval73.1%

      \[\leadsto \sqrt{\left({x}^{3} \cdot {x}^{3}\right) \cdot \color{blue}{\left(-0.16666666666666666 \cdot -0.16666666666666666\right)}} \]
    4. swap-sqr73.0%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right) \cdot \left({x}^{3} \cdot -0.16666666666666666\right)}} \]
    5. cube-mult73.0%

      \[\leadsto \sqrt{\left(\color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot -0.16666666666666666\right) \cdot \left({x}^{3} \cdot -0.16666666666666666\right)} \]
    6. associate-*r*73.0%

      \[\leadsto \sqrt{\color{blue}{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)} \cdot \left({x}^{3} \cdot -0.16666666666666666\right)} \]
    7. cube-mult73.0%

      \[\leadsto \sqrt{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \left(\color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot -0.16666666666666666\right)} \]
    8. associate-*r*73.0%

      \[\leadsto \sqrt{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \color{blue}{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)}} \]
    9. sqrt-unprod80.3%

      \[\leadsto \color{blue}{\sqrt{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} \cdot \sqrt{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)}} \]
    10. add-sqr-sqrt98.8%

      \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} \]
    11. associate-*l*98.7%

      \[\leadsto x \cdot \color{blue}{\left(x \cdot \left(x \cdot -0.16666666666666666\right)\right)} \]
    12. associate-*l*98.7%

      \[\leadsto \color{blue}{\left(x \cdot x\right) \cdot \left(x \cdot -0.16666666666666666\right)} \]
  8. Applied egg-rr98.7%

    \[\leadsto \color{blue}{\left(x \cdot x\right) \cdot \left(x \cdot -0.16666666666666666\right)} \]
  9. Final simplification98.7%

    \[\leadsto \left(x \cdot x\right) \cdot \left(-0.16666666666666666 \cdot x\right) \]

Alternative 7: 98.0% accurate, 14.7× speedup?

\[x \cdot \left(-0.16666666666666666 \cdot \left(x \cdot x\right)\right) \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around 0 98.8%

    \[\leadsto \color{blue}{-0.16666666666666666 \cdot {x}^{3}} \]
  3. Step-by-step derivation
    1. add-sqr-sqrt80.3%

      \[\leadsto \color{blue}{\sqrt{-0.16666666666666666 \cdot {x}^{3}} \cdot \sqrt{-0.16666666666666666 \cdot {x}^{3}}} \]
    2. sqrt-unprod73.0%

      \[\leadsto \color{blue}{\sqrt{\left(-0.16666666666666666 \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)}} \]
    3. pow273.0%

      \[\leadsto \sqrt{\color{blue}{{\left(-0.16666666666666666 \cdot {x}^{3}\right)}^{2}}} \]
  4. Applied egg-rr73.0%

    \[\leadsto \color{blue}{\sqrt{{\left(-0.16666666666666666 \cdot {x}^{3}\right)}^{2}}} \]
  5. Step-by-step derivation
    1. unpow273.0%

      \[\leadsto \sqrt{\color{blue}{\left(-0.16666666666666666 \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)}} \]
    2. *-commutative73.0%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right)} \cdot \left(-0.16666666666666666 \cdot {x}^{3}\right)} \]
    3. *-commutative73.0%

      \[\leadsto \sqrt{\left({x}^{3} \cdot -0.16666666666666666\right) \cdot \color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right)}} \]
    4. swap-sqr73.1%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot {x}^{3}\right) \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)}} \]
    5. pow-sqr73.0%

      \[\leadsto \sqrt{\color{blue}{{x}^{\left(2 \cdot 3\right)}} \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)} \]
    6. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{\color{blue}{6}} \cdot \left(-0.16666666666666666 \cdot -0.16666666666666666\right)} \]
    7. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{6} \cdot \color{blue}{0.027777777777777776}} \]
  6. Simplified73.0%

    \[\leadsto \color{blue}{\sqrt{{x}^{6} \cdot 0.027777777777777776}} \]
  7. Step-by-step derivation
    1. metadata-eval73.0%

      \[\leadsto \sqrt{{x}^{\color{blue}{\left(2 \cdot 3\right)}} \cdot 0.027777777777777776} \]
    2. pow-sqr73.1%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot {x}^{3}\right)} \cdot 0.027777777777777776} \]
    3. metadata-eval73.1%

      \[\leadsto \sqrt{\left({x}^{3} \cdot {x}^{3}\right) \cdot \color{blue}{\left(-0.16666666666666666 \cdot -0.16666666666666666\right)}} \]
    4. swap-sqr73.0%

      \[\leadsto \sqrt{\color{blue}{\left({x}^{3} \cdot -0.16666666666666666\right) \cdot \left({x}^{3} \cdot -0.16666666666666666\right)}} \]
    5. cube-mult73.0%

      \[\leadsto \sqrt{\left(\color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot -0.16666666666666666\right) \cdot \left({x}^{3} \cdot -0.16666666666666666\right)} \]
    6. associate-*r*73.0%

      \[\leadsto \sqrt{\color{blue}{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)} \cdot \left({x}^{3} \cdot -0.16666666666666666\right)} \]
    7. cube-mult73.0%

      \[\leadsto \sqrt{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \left(\color{blue}{\left(x \cdot \left(x \cdot x\right)\right)} \cdot -0.16666666666666666\right)} \]
    8. associate-*r*73.0%

      \[\leadsto \sqrt{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right) \cdot \color{blue}{\left(x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)\right)}} \]
    9. sqrt-unprod80.3%

      \[\leadsto \color{blue}{\sqrt{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} \cdot \sqrt{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)}} \]
    10. add-sqr-sqrt98.8%

      \[\leadsto \color{blue}{x \cdot \left(\left(x \cdot x\right) \cdot -0.16666666666666666\right)} \]
    11. *-commutative98.8%

      \[\leadsto \color{blue}{\left(\left(x \cdot x\right) \cdot -0.16666666666666666\right) \cdot x} \]
  8. Applied egg-rr98.8%

    \[\leadsto \color{blue}{\left(\left(x \cdot x\right) \cdot -0.16666666666666666\right) \cdot x} \]
  9. Final simplification98.8%

    \[\leadsto x \cdot \left(-0.16666666666666666 \cdot \left(x \cdot x\right)\right) \]

Alternative 8: 6.5% accurate, 51.5× speedup?

\[-x \]
Derivation
  1. Initial program 68.5%

    \[\sin x - x \]
  2. Taylor expanded in x around inf 6.4%

    \[\leadsto \color{blue}{-1 \cdot x} \]
  3. Step-by-step derivation
    1. neg-mul-16.4%

      \[\leadsto \color{blue}{-x} \]
  4. Simplified6.4%

    \[\leadsto \color{blue}{-x} \]
  5. Final simplification6.4%

    \[\leadsto -x \]

Developer target: 99.8% accurate, 0.2× speedup?

\[\begin{array}{l} \mathbf{if}\;\left|x\right| < 0.07:\\ \;\;\;\;-\left(\left(\frac{{x}^{3}}{6} - \frac{{x}^{5}}{120}\right) + \frac{{x}^{7}}{5040}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin x - x\\ \end{array} \]

Reproduce

?
herbie shell --seed 2023167 
(FPCore (x)
  :name "bug500 (missed optimization)"
  :precision binary64
  :pre (and (< -1000.0 x) (< x 1000.0))

  :herbie-target
  (if (< (fabs x) 0.07) (- (+ (- (/ (pow x 3.0) 6.0) (/ (pow x 5.0) 120.0)) (/ (pow x 7.0) 5040.0))) (- (sin x) x))

  (- (sin x) x))