Details

Time bar (total: 1.1s)

analyze51.0ms (4.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
65.6%65.6%34.3%0.1%0%0%0%8
76.6%76.5%23.4%0.1%0%0%0%9
82%82%18%0.1%0%0%0%10
87.9%87.8%12.1%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample693.0ms (63.4%)

Results
681.0ms8256×body256valid
Bogosity

preprocess123.0ms (11.2%)

Algorithm
egg-herbie
Rules
1254×rational.json-simplify-51
1240×rational.json-simplify-35
1192×rational.json-simplify-2
864×rational.json-simplify-57
698×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
11830
23930
326530
4157830
5424730
6780130
022
122
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(sqrt.f64 (fabs.f64 (-.f64 y x)))
Outputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(sqrt.f64 (fabs.f64 (-.f64 y x)))
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Symmetry

(sort x y)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify55.0ms (5%)

Algorithm
egg-herbie
Rules
1996×rational.json-simplify-35
1548×rational.json-simplify-51
1404×rational.json-simplify-43
1062×rational.json-simplify-39
904×rational.json-simplify-59
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
11315
22515
310315
4103715
5386415
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Outputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0.5%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 16 to 5 computations (68.8% saved)

series2.0ms (0.2%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0ms
x
@0
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0ms
y
@inf
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0ms
x
@-inf
(sqrt.f64 (fabs.f64 (-.f64 x y)))
0.0ms
x
@inf
(sqrt.f64 (fabs.f64 (-.f64 x y)))

rewrite53.0ms (4.9%)

Algorithm
batch-egg-rewrite
Rules
1490×rational.json-simplify-35
1202×exponential.json-3
1202×rational.json-1
1202×rational.json-2
1202×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15515
214515
349615
4375315
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fabs.f64 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fabs.f64 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)))))

simplify68.0ms (6.2%)

Algorithm
egg-herbie
Rules
1312×rational.json-simplify-2
1098×rational.json-simplify-53
1034×rational.json-simplify-51
800×rational.json-simplify-44
770×rational.json-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045409
191393
2217377
3734377
44496377
Stop Event
node limit
Counts
23 → 22
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(+.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)
(+.f64 0 (sqrt.f64 (fabs.f64 (-.f64 x y))))
(-.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
(*.f64 1 (sqrt.f64 (fabs.f64 (-.f64 x y))))
(*.f64 2 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))
(*.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))
(*.f64 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
(/.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4))) 16)
(pow.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
Outputs
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (neg.f64 x)))))
(sqrt.f64 (fabs.f64 (+.f64 y (neg.f64 x))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (neg.f64 x)))))
(sqrt.f64 (fabs.f64 (+.f64 y (neg.f64 x))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (neg.f64 x)))))
(sqrt.f64 (fabs.f64 (+.f64 y (neg.f64 x))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (*.f64 -1 x)))))
(sqrt.f64 (fabs.f64 (neg.f64 (+.f64 y (neg.f64 x)))))
(sqrt.f64 (fabs.f64 (+.f64 y (neg.f64 x))))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 x (*.f64 y -1))))
(sqrt.f64 (fabs.f64 (+.f64 x (neg.f64 y))))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 x (*.f64 y -1))))
(sqrt.f64 (fabs.f64 (+.f64 x (neg.f64 y))))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 x (*.f64 y -1))))
(sqrt.f64 (fabs.f64 (+.f64 x (neg.f64 y))))
(sqrt.f64 (fabs.f64 (+.f64 (*.f64 -1 y) x)))
(sqrt.f64 (fabs.f64 (+.f64 x (*.f64 y -1))))
(sqrt.f64 (fabs.f64 (+.f64 x (neg.f64 y))))
(+.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(+.f64 0 (sqrt.f64 (fabs.f64 (-.f64 x y))))
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(-.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 0)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 1 (sqrt.f64 (fabs.f64 (-.f64 x y))))
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 2 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 1/2)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 1/2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2))
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(*.f64 (/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(/.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(/.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 2) 2)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(/.f64 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4) 4)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) 8)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 4))) 16)
(sqrt.f64 (fabs.f64 (-.f64 x y)))
(pow.f64 (sqrt.f64 (fabs.f64 (-.f64 x y))) 1)
(sqrt.f64 (fabs.f64 (-.f64 x y)))

eval7.0ms (0.6%)

Compiler

Compiled 183 to 87 computations (52.5% saved)

prune6.0ms (0.5%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New22022
Fresh000
Picked011
Done000
Total22123
Error
0.0b
Counts
23 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify3.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
Stop Event
done
saturated
Calls
Call 1
Inputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Outputs
(sqrt.f64 (fabs.f64 (-.f64 x y)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

soundness0.0ms (0%)

end25.0ms (2.3%)

Remove

(sort x y)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...