Numeric.LinearAlgebra.Util:formatSparse from hmatrix-0.16.1.5

Time bar (total: 1.5s)

analyze11.0ms (0.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
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 10 to 7 computations (30% saved)

sample818.0ms (56.4%)

Results
638.0ms7226×body256valid
167.0ms1030×body256infinite
Bogosity

preprocess51.0ms (3.5%)

Algorithm
egg-herbie
Rules
130×fma-def
48×times-frac
36×associate-/r*
34×sub-neg
32×associate-/l*
Problems
256×No Errors
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025158
142150
283150
3174150
4253150
5316150
6363150
7371150
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 (neg.f64 x) y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 x (neg.f64 y))) (fabs.f64 (neg.f64 y)))
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 x))
Outputs
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 (neg.f64 x) y)) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 x (neg.f64 y))) (fabs.f64 (neg.f64 y)))
(/.f64 (fabs.f64 (-.f64 (neg.f64 x) y)) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 x))
Compiler

Compiled 30 to 13 computations (56.7% saved)

eval0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
100.0%
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize25.0ms (1.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series3.0ms (0.2%)

Counts
1 → 8
Calls

6 calls:

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

rewrite98.0ms (6.7%)

Algorithm
batch-egg-rewrite
Rules
1242×prod-diff
645×log1p-expm1-u
645×expm1-log1p-u
570×log-prod
472×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01226
114922
2231522
Stop Event
node limit
Counts
1 → 51
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
Outputs
(+.f64 0 (/.f64 (-.f64 y x) y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))) (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 y x) y))) 1)
(-.f64 (/.f64 y y) (/.f64 x y))
(*.f64 (-.f64 y x) (/.f64 1 y))
(*.f64 (/.f64 (-.f64 y x) y) 1)
(*.f64 (/.f64 (-.f64 y x) y) (log.f64 (exp.f64 1)))
(*.f64 1 (/.f64 (-.f64 y x) y))
(*.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (*.f64 (cbrt.f64 (-.f64 y x)) (/.f64 1 y)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) (sqrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) (/.f64 1 y)))
(*.f64 (neg.f64 (-.f64 y x)) (/.f64 1 (neg.f64 y)))
(*.f64 (/.f64 1 y) (-.f64 y x))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (sqrt.f64 y)) (/.f64 (cbrt.f64 (-.f64 y x)) (sqrt.f64 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (-.f64 y x) (cbrt.f64 y)))
(*.f64 (/.f64 1 (sqrt.f64 y)) (/.f64 (-.f64 y x) (sqrt.f64 y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) 1) (/.f64 (cbrt.f64 (-.f64 y x)) y))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) 1) (/.f64 (sqrt.f64 (-.f64 y x)) y))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (-.f64 y x)) (cbrt.f64 y)))
(pow.f64 (/.f64 (-.f64 y x) y) 1)
(pow.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) 3)
(pow.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2) 1/2)
(pow.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) 2)
(pow.f64 (/.f64 y (-.f64 y x)) -1)
(pow.f64 (/.f64 (/.f64 y (-.f64 y x)) 1) -1)
(neg.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(sqrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2))
(fabs.f64 (/.f64 (-.f64 y x) y))
(fabs.f64 (neg.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(fabs.f64 (/.f64 (neg.f64 (-.f64 y x)) y))
(fabs.f64 (/.f64 (-.f64 x y) y))
(fabs.f64 (/.f64 (-.f64 x y) (neg.f64 y)))
(log.f64 (exp.f64 (/.f64 (-.f64 y x) y)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 y x) y))))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 y x) 3) (pow.f64 y 3)))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 y x) y)))
(exp.f64 (log.f64 (/.f64 (-.f64 y x) y)))
(exp.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (-.f64 y x) y))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (-.f64 y x) y))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 y x) y))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 y (-.f64 y x))) -1))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 y x) y)))

simplify59.0ms (4%)

Algorithm
egg-herbie
Rules
876×log-prod
860×fma-def
670×log-div
664×distribute-lft-in
646×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01471754
13321496
210821460
361911434
Stop Event
node limit
Counts
59 → 73
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(+.f64 0 (/.f64 (-.f64 y x) y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))) (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 y x) y))) 1)
(-.f64 (/.f64 y y) (/.f64 x y))
(*.f64 (-.f64 y x) (/.f64 1 y))
(*.f64 (/.f64 (-.f64 y x) y) 1)
(*.f64 (/.f64 (-.f64 y x) y) (log.f64 (exp.f64 1)))
(*.f64 1 (/.f64 (-.f64 y x) y))
(*.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (*.f64 (cbrt.f64 (-.f64 y x)) (/.f64 1 y)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) (sqrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) (/.f64 1 y)))
(*.f64 (neg.f64 (-.f64 y x)) (/.f64 1 (neg.f64 y)))
(*.f64 (/.f64 1 y) (-.f64 y x))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (sqrt.f64 y)) (/.f64 (cbrt.f64 (-.f64 y x)) (sqrt.f64 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (-.f64 y x) (cbrt.f64 y)))
(*.f64 (/.f64 1 (sqrt.f64 y)) (/.f64 (-.f64 y x) (sqrt.f64 y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) 1) (/.f64 (cbrt.f64 (-.f64 y x)) y))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) 1) (/.f64 (sqrt.f64 (-.f64 y x)) y))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (-.f64 y x)) (cbrt.f64 y)))
(pow.f64 (/.f64 (-.f64 y x) y) 1)
(pow.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) 3)
(pow.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2) 1/2)
(pow.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) 2)
(pow.f64 (/.f64 y (-.f64 y x)) -1)
(pow.f64 (/.f64 (/.f64 y (-.f64 y x)) 1) -1)
(neg.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(sqrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2))
(fabs.f64 (/.f64 (-.f64 y x) y))
(fabs.f64 (neg.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(fabs.f64 (/.f64 (neg.f64 (-.f64 y x)) y))
(fabs.f64 (/.f64 (-.f64 x y) y))
(fabs.f64 (/.f64 (-.f64 x y) (neg.f64 y)))
(log.f64 (exp.f64 (/.f64 (-.f64 y x) y)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 y x) y))))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 y x) 3) (pow.f64 y 3)))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 y x) y)))
(exp.f64 (log.f64 (/.f64 (-.f64 y x) y)))
(exp.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (-.f64 y x) y))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (-.f64 y x) y))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 y x) y))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 y (-.f64 y x))) -1))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 y x) y)))
Outputs
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (neg.f64 (+.f64 x (*.f64 -1 y)))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(/.f64 (fabs.f64 (+.f64 y (*.f64 -1 x))) (fabs.f64 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(+.f64 0 (/.f64 (-.f64 y x) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))) (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 x y)))) (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 x y)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 x y))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 x y)))))) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (/.f64 x y))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (+.f64 -1 (/.f64 x y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 y x) y)))))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 y x) y))) 1)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(-.f64 (/.f64 y y) (/.f64 x y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (-.f64 y x) (/.f64 1 y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (/.f64 (-.f64 y x) y) 1)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (/.f64 (-.f64 y x) y) (log.f64 (exp.f64 1)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 1 (/.f64 (-.f64 y x) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)))
(*.f64 (cbrt.f64 (-.f64 1 (/.f64 x y))) (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)))
(*.f64 (cbrt.f64 (-.f64 1 (/.f64 x y))) (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 x y)) 2)))
(*.f64 (cbrt.f64 (+.f64 -1 (/.f64 x y))) (cbrt.f64 (pow.f64 (+.f64 -1 (/.f64 x y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (cbrt.f64 (-.f64 1 (/.f64 x y))) (cbrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2)))
(*.f64 (cbrt.f64 (-.f64 1 (/.f64 x y))) (cbrt.f64 (pow.f64 (-.f64 1 (/.f64 x y)) 2)))
(*.f64 (cbrt.f64 (+.f64 -1 (/.f64 x y))) (cbrt.f64 (pow.f64 (+.f64 -1 (/.f64 x y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (*.f64 (cbrt.f64 (-.f64 y x)) (/.f64 1 y)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (*.f64 (/.f64 1 y) (cbrt.f64 (-.f64 y x))))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (/.f64 (cbrt.f64 (-.f64 y x)) y))
(/.f64 (cbrt.f64 (-.f64 x y)) (/.f64 y (cbrt.f64 (pow.f64 (-.f64 x y) 2))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) (sqrt.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (sqrt.f64 (-.f64 y x)) (*.f64 (sqrt.f64 (-.f64 y x)) (/.f64 1 y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (neg.f64 (-.f64 y x)) (/.f64 1 (neg.f64 y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (/.f64 1 y) (-.f64 y x))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 (/.f64 (-.f64 y x) y)))
(*.f64 (cbrt.f64 (-.f64 1 (/.f64 x y))) (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (pow.f64 (cbrt.f64 y) 2)))
(/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (/.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 (+.f64 -1 (/.f64 x y)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (sqrt.f64 y)) (/.f64 (cbrt.f64 (-.f64 y x)) (sqrt.f64 y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (sqrt.f64 y)) (/.f64 (cbrt.f64 (-.f64 x y)) (sqrt.f64 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (-.f64 y x) (cbrt.f64 y)))
(/.f64 (/.f64 (-.f64 y x) (cbrt.f64 y)) (pow.f64 (cbrt.f64 y) 2))
(/.f64 (-.f64 x y) (*.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y)))
(/.f64 (-.f64 x y) (pow.f64 (cbrt.f64 y) 3))
(*.f64 (/.f64 1 (sqrt.f64 y)) (/.f64 (-.f64 y x) (sqrt.f64 y)))
(/.f64 (/.f64 (-.f64 y x) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (-.f64 x y) (*.f64 (sqrt.f64 y) (sqrt.f64 y)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) 1) (/.f64 (cbrt.f64 (-.f64 y x)) y))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (*.f64 (/.f64 1 y) (cbrt.f64 (-.f64 y x))))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 x y) 2)) (/.f64 (cbrt.f64 (-.f64 y x)) y))
(/.f64 (cbrt.f64 (-.f64 x y)) (/.f64 y (cbrt.f64 (pow.f64 (-.f64 x y) 2))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) 1) (/.f64 (sqrt.f64 (-.f64 y x)) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(*.f64 (/.f64 (sqrt.f64 (-.f64 y x)) (pow.f64 (cbrt.f64 y) 2)) (/.f64 (sqrt.f64 (-.f64 y x)) (cbrt.f64 y)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 y) 2)) (/.f64 (-.f64 y x) (cbrt.f64 y)))
(/.f64 (/.f64 (-.f64 y x) (cbrt.f64 y)) (pow.f64 (cbrt.f64 y) 2))
(/.f64 (-.f64 x y) (*.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y)))
(/.f64 (-.f64 x y) (pow.f64 (cbrt.f64 y) 3))
(pow.f64 (/.f64 (-.f64 y x) y) 1)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (cbrt.f64 (/.f64 (-.f64 y x) y)) 3)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2) 1/2)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3) 1/3)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (sqrt.f64 (/.f64 (-.f64 y x) y)) 2)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (/.f64 y (-.f64 y x)) -1)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(pow.f64 (/.f64 (/.f64 y (-.f64 y x)) 1) -1)
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(neg.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(sqrt.f64 (pow.f64 (/.f64 y (-.f64 y x)) -2))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (/.f64 (-.f64 y x) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (neg.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (/.f64 (-.f64 y x) (neg.f64 y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (/.f64 (neg.f64 (-.f64 y x)) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (/.f64 (-.f64 x y) y))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(fabs.f64 (/.f64 (-.f64 x y) (neg.f64 y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(log.f64 (exp.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 y x) y))))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 y x) y) 3))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(cbrt.f64 (/.f64 (pow.f64 (-.f64 y x) 3) (pow.f64 y 3)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (log.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (-.f64 y x) y)) 1) 1))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (-.f64 y x) y))) 3))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (-.f64 y x) y))) 1/3))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 y x) y))) 2))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(exp.f64 (*.f64 (log.f64 (/.f64 y (-.f64 y x))) -1))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 y x) y)))
(fabs.f64 (-.f64 (/.f64 x y) 1))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))

eval14.0ms (0.9%)

Compiler

Compiled 791 to 322 computations (59.3% saved)

prune10.0ms (0.7%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New71273
Fresh000
Picked101
Done000
Total72274
Accuracy
100.0%
Counts
74 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.1%
(-.f64 1 (/.f64 x y))
22.1%
(+.f64 -1 (/.f64 x y))
79.1%
(-.f64 1 (/.f64 x y))
22.1%
(+.f64 -1 (/.f64 x y))
Compiler

Compiled 28 to 20 computations (28.6% saved)

localize30.0ms (2.1%)

Compiler

Compiled 25 to 10 computations (60% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
100.0%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.1%
(-.f64 1 (/.f64 x y))
22.1%
(+.f64 -1 (/.f64 x y))
Compiler

Compiled 40 to 24 computations (40% saved)

regimes15.0ms (1%)

Counts
4 → 1
Calls
Call 1
Inputs
(+.f64 -1 (/.f64 x y))
(-.f64 1 (/.f64 x y))
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(/.f64 (fabs.f64 (-.f64 y x)) (fabs.f64 y))
Outputs
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Calls

3 calls:

6.0ms
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
4.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
Compiler

Compiled 41 to 24 computations (41.5% saved)

regimes7.0ms (0.5%)

Counts
2 → 1
Calls
Call 1
Inputs
(+.f64 -1 (/.f64 x y))
(-.f64 1 (/.f64 x y))
Outputs
(-.f64 1 (/.f64 x y))
Calls

2 calls:

3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
79.1%1x
79.1%1y
Compiler

Compiled 18 to 11 computations (38.9% saved)

regimes11.0ms (0.8%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 -1 (/.f64 x y))
Outputs
(+.f64 -1 (/.f64 x y))
Calls

2 calls:

8.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
22.1%1y
22.1%1x
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify3.0ms (0.2%)

Algorithm
egg-herbie
Rules
14×+-commutative
12×sub-neg
neg-mul-1
*-commutative
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01768
12668
23568
34268
44668
54768
Stop Event
done
saturated
Calls
Call 1
Inputs
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
Outputs
(/.f64 (fabs.f64 (-.f64 x y)) (fabs.f64 y))
(-.f64 1 (/.f64 x y))
(+.f64 -1 (/.f64 x y))
(+.f64 (/.f64 x y) -1)
Compiler

Compiled 23 to 16 computations (30.4% saved)

soundness268.0ms (18.4%)

Rules
876×log-prod
876×log-prod
860×fma-def
860×fma-def
670×log-div
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
025158
142150
283150
3174150
4253150
5316150
6363150
7371150
01471754
13321496
210821460
361911434
01471754
13321496
210821460
361911434
Stop Event
node limit
node limit
saturated
Compiler

Compiled 308 to 120 computations (61% saved)

end0.0ms (0%)

preprocess27.0ms (1.9%)

Compiler

Compiled 56 to 34 computations (39.3% saved)

Profiling

Loading profile data...