Given's Rotation SVD example, simplified

Time bar (total: 17.5s)

analyze1.0ms (0%)

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

Compiled 28 to 20 computations (28.6% saved)

sample17.3s (98.7%)

Results
631.0ms3999×0valid-baseline
394.0ms3999×0valid-sollya
645.0ms3999×0valid-rival
1.5s3790×1valid-rival
960.0ms3790×1valid-sollya
2.1s3790×1valid-baseline
55.0ms175×1valid-sollya+rival
70.0ms175×1valid-rival+sollya
63.0ms69×0valid-baseline+sollya
20.0ms69×0valid-sollya+baseline
7.0ms52×0valid-sollya+rival
9.0ms52×0valid-rival+sollya
23.0ms47×1valid-baseline+rival
19.0ms47×1valid-rival+baseline
4.0ms31×0valid-baseline+rival
5.0ms31×0valid-rival+baseline
2.0ms1valid-rival-only
2.0ms0valid-sollya-only
0.0ms0valid-rival-only
Bogosity

preprocess155.0ms (0.9%)

Algorithm
egg-herbie
Rules
43×fma-define
34×fma-neg
13×neg-mul-1
12×associate--r+
12×associate-+l-
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022160
157128
295128
3158128
4242128
5300128
6328128
7338128
8342128
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) (neg.f64 x)))))))
(neg.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) (neg.f64 x))))))))
Outputs
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (hypot.f64 #s(literal 1 binary64) x)))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (hypot.f64 #s(literal 1 binary64) x)))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) (neg.f64 x)))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
(-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (hypot.f64 #s(literal 1 binary64) x)))))
(neg.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) (neg.f64 x))))))))
(neg.f64 (-.f64 #s(literal 1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) (neg.f64 x))))))))
(+.f64 #s(literal -1 binary64) (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (hypot.f64 #s(literal 1 binary64) x)))))
(+.f64 (sqrt.f64 (+.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1/2 binary64) (hypot.f64 #s(literal 1 binary64) x)))) #s(literal -1 binary64))
Symmetry

(abs x)

Compiler

Compiled 13 to 9 computations (30.8% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
74.6%
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp
+-commutative
sub-neg
*-commutative
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01438
12338
22738
32938
43038
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))
Outputs
(-.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (hypot.f64 #s(literal 1 binary64) x))))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 13 to 9 computations (30.8% saved)

preprocess72.0ms (0.4%)

Remove

(abs x)

Compiler

Compiled 104 to 72 computations (30.8% saved)

end0.0ms (0%)

Profiling

Loading profile data...