From Rump in a 1983 paper, rewritten

Time bar (total: 4.5s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 24 to 16 computations (33.3% saved)

sample4.1s (91.1%)

Results
1.6s8256×0valid-rival
283.0ms8255×0valid-sollya
5.0ms0exit-sollya
Bogosity

preprocess346.0ms (7.8%)

Algorithm
egg-herbie
Rules
1405×fma-define
704×fma-neg
233×cancel-sign-sub-inv
229×distribute-lft-in
222×distribute-rgt-in
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
034394
192394
2246386
3780357
41730357
53061357
64194357
74459357
84570349
94601349
104606349
115086349
125106349
135282349
145282349
155282349
165348349
175396349
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) #s(literal 2 binary64))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) #s(literal 2 binary64)))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 4 binary64))) (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) #s(literal 2 binary64))))
Outputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y)))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(fma.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) (pow.f64 y #s(literal 4 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y)))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(fma.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) (pow.f64 y #s(literal 4 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y)))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(fma.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) (pow.f64 y #s(literal 4 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y)))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(fma.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) (pow.f64 y #s(literal 4 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y))))
(+.f64 (neg.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64)))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(+.f64 (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))) (*.f64 (pow.f64 (neg.f64 x) #s(literal 4 binary64)) #s(literal -9 binary64)))
(fma.f64 (pow.f64 (neg.f64 x) #s(literal 4 binary64)) #s(literal -9 binary64) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 (neg.f64 y) (neg.f64 y)) (-.f64 (*.f64 (neg.f64 y) (neg.f64 y)) #s(literal 2 binary64)))))
(neg.f64 (-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64))) (*.f64 (fma.f64 y y #s(literal -2 binary64)) (*.f64 y y))))
(+.f64 (neg.f64 (*.f64 #s(literal 9 binary64) (pow.f64 (neg.f64 x) #s(literal 4 binary64)))) (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))))
(+.f64 (*.f64 y (*.f64 y (fma.f64 y y #s(literal -2 binary64)))) (*.f64 (pow.f64 (neg.f64 x) #s(literal 4 binary64)) #s(literal -9 binary64)))
(fma.f64 (pow.f64 (neg.f64 x) #s(literal 4 binary64)) #s(literal -9 binary64) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -9 binary64) (*.f64 y (fma.f64 y #s(literal -2 binary64) (pow.f64 y #s(literal 3 binary64)))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 4 binary64))) (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) #s(literal 2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 4 binary64))) (*.f64 (*.f64 x x) (fma.f64 x x #s(literal -2 binary64))))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 y #s(literal 4 binary64))) (*.f64 x (fma.f64 x #s(literal -2 binary64) (pow.f64 x #s(literal 3 binary64)))))
Symmetry

(abs x)

(abs y)

Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
3.1%
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Compiler

Compiled 34 to 22 computations (35.3% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
74×unsub-neg
41×neg-mul-1
21×distribute-lft-neg-in
19×distribute-neg-out
14×distribute-lft-neg-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01658
12658
24458
35758
47758
58358
68858
711758
815958
916358
1018058
1124658
1230758
1330858
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Outputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(+.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 #s(literal 2 binary64) (*.f64 y y))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 17 to 11 computations (35.3% saved)

preprocess38.0ms (0.9%)

Remove

(abs y)

(abs x)

Compiler

Compiled 204 to 132 computations (35.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...