Details

Time bar (total: 3.5s)

analyze68.0ms (1.9%)

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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
40.6%40.6%59.3%0.1%0%0%0%7
46%45.3%53.1%0.1%1.6%0%0%8
65.3%63.2%33.6%0.1%3.1%0%0%9
69.5%66%28.9%0.1%5.1%0%0%10
80.9%75.1%17.8%0.1%7%0%0%11
83.6%76.6%15%0.1%8.3%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

sample2.7s (75.3%)

Results
2.6s8256×body256valid
34.0ms414×body256infinite
Bogosity

preprocess38.0ms (1.1%)

Algorithm
egg-herbie
Rules
associate-/r*
*-commutative
count-2
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
11438
21938
32338
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 y x) (+.f64 x x))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 y x) (+.f64 x x))
(/.f64 (+.f64 x y) (+.f64 x x))
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify13.0ms (0.4%)

Algorithm
egg-herbie
Rules
associate-/r*
*-commutative
count-2
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
11019
21319
31519
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))

eval0.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Accurracy
99.6%
Counts
2 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 9 to 5 computations (44.4% saved)

localize56.0ms (1.6%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 17 to 5 computations (70.6% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite64.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1802×pow1
1682×add-exp-log
1680×log1p-expm1-u
1680×expm1-log1p-u
1646×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
116219
2262719
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(-.f64 (+.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0))) 1)
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (*.f64 2 (/.f64 y (+.f64 x y))) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))

simplify20.0ms (0.6%)

Algorithm
egg-herbie
Rules
34×*-commutative
24×sqr-pow
20×associate-*r/
16×associate-*l/
12×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084911
1268911
Stop Event
unsound
Counts
57 → 48
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(-.f64 (+.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0))) 1)
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (*.f64 2 (/.f64 y (+.f64 x y))) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
Outputs
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(*.f64 1/2 (/.f64 x y))
(/.f64 (*.f64 1/2 x) y)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(*.f64 1/2 (/.f64 x y))
(/.f64 (*.f64 1/2 x) y)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(*.f64 1/2 (/.f64 x y))
(/.f64 (*.f64 1/2 x) y)
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(-.f64 (+.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0))) 1)
0
(*.f64 (+.f64 x y) (/.f64 0 0))
0
(*.f64 (/.f64 0 0) (+.f64 x y))
0
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
0
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
0
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
0
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 0 (cbrt.f64 (+.f64 x y))))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) 0)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) 0)
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 0 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 0 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
-1
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 0 (cbrt.f64 (+.f64 x y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 0 (cbrt.f64 (+.f64 x y))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 0 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(/.f64 (*.f64 (+.f64 x y) (fma.f64 y y 0)) (*.f64 2 (pow.f64 y 3)))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
0
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
0
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) 0)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
0
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (*.f64 0 (sqrt.f64 (+.f64 x y))) 2)
(pow.f64 (*.f64 2 (/.f64 y (+.f64 x y))) -1)
(/.f64 0 (*.f64 2 (/.f64 y (+.f64 x y))))
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(sqrt.f64 (*.f64 0 (pow.f64 (+.f64 x y) 2)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 0 (log.f64 (exp.f64 (+.f64 x y))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
0
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) 0))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
0
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
0
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
0

eval50.0ms (1.4%)

Compiler

Compiled 479 to 278 computations (42% saved)

prune14.0ms (0.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New44448
Fresh000
Picked101
Done000
Total45449
Accurracy
100.0%
Counts
49 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.4%
(/.f64 (*.f64 1/2 x) y)
100.0%
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
57.9%
1/2
2.4%
-1
Compiler

Compiled 22 to 18 computations (18.2% saved)

localize9.0ms (0.3%)

Compiler

Compiled 20 to 13 computations (35% saved)

localize5.0ms (0.1%)

Compiler

Compiled 13 to 8 computations (38.5% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New000
Fresh022
Picked011
Done011
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.4%
(/.f64 (*.f64 1/2 x) y)
100.0%
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
57.9%
1/2
2.4%
-1
Compiler

Compiled 22 to 18 computations (18.2% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done022
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.4%
(/.f64 (*.f64 1/2 x) y)
100.0%
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
57.9%
1/2
2.4%
-1
Compiler

Compiled 22 to 18 computations (18.2% saved)

eval9.0ms (0.3%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done022
Total044
Accurracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.4%
(/.f64 (*.f64 1/2 x) y)
100.0%
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
57.9%
1/2
2.4%
-1
Compiler

Compiled 22 to 18 computations (18.2% saved)

regimes14.0ms (0.4%)

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

3 calls:

5.0ms
x
4.0ms
y
3.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 38 to 24 computations (36.8% saved)

regimes112.0ms (3.2%)

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

2 calls:

81.0ms
y
30.0ms
x
Results
AccuracySegmentsBranch
75.1%9x
77.4%7y
Compiler

Compiled 15 to 11 computations (26.7% saved)

bsearch155.0ms (4.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
0.0005269496803178602
5103503315784369.0
58.0ms
3.8336643586895174e-95
5.403206624530742e-80
18.0ms
3.035117157235205e-136
2.933502812512912e-132
33.0ms
-4.651491498467282e-150
-4.6133926464032494e-155
16.0ms
-6.931655680094056e-57
-1.1183413208486817e-66
15.0ms
-1.2535882691888047e-30
-5.852695857545245e-36
Results
97.0ms896×body256valid
5.0ms60×body256infinite
Compiler

Compiled 686 to 569 computations (17.1% saved)

regimes7.0ms (0.2%)

Accuracy

Total -36.2b remaining (-134.5%)

Threshold costs -36.2b (-134.5%)

Counts
2 → 1
Calls
Call 1
Inputs
-1
1/2
Outputs
1/2
Calls

2 calls:

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

Compiled 10 to 8 computations (20% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
16×not-or
14×not-not
14×if-not
10×if-if-or-not
not-and
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
030118
137118
240118
346114
453114
563110
670110
775110
877110
978110
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(if (<=.f64 y -7992587079153375/11417981541647679048466287755595961091061972992) 1/2 (if (<=.f64 y -8250186358158779/7237005577332262213973186563042994240829374041602535252466099000494570602496) (/.f64 (*.f64 1/2 x) y) (if (<=.f64 y -8476673415126509/1842755090244893238399196572748178169393027939656465052918069482541808673043041431682679065028153695088607604995490158642466105776330465152617887818082371115063181312) 1/2 (if (<=.f64 y 3036836989747397/3196670515523576044934755563308202297086564498088930458479776726656380660551439995003193449537015778467662777468320381844938727095591204153641140224) (/.f64 (*.f64 1/2 x) y) (if (<=.f64 y 3203980553881365/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) 1/2 (if (<=.f64 y 1700000) (/.f64 (*.f64 1/2 x) y) 1/2))))))
1/2
-1
Outputs
(+.f64 1/2 (/.f64 (*.f64 1/2 x) y))
(if (<=.f64 y -7992587079153375/11417981541647679048466287755595961091061972992) 1/2 (if (<=.f64 y -8250186358158779/7237005577332262213973186563042994240829374041602535252466099000494570602496) (/.f64 (*.f64 1/2 x) y) (if (<=.f64 y -8476673415126509/1842755090244893238399196572748178169393027939656465052918069482541808673043041431682679065028153695088607604995490158642466105776330465152617887818082371115063181312) 1/2 (if (<=.f64 y 3036836989747397/3196670515523576044934755563308202297086564498088930458479776726656380660551439995003193449537015778467662777468320381844938727095591204153641140224) (/.f64 (*.f64 1/2 x) y) (if (<=.f64 y 3203980553881365/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) 1/2 (if (<=.f64 y 1700000) (/.f64 (*.f64 1/2 x) y) 1/2))))))
(if (<=.f64 y -7992587079153375/11417981541647679048466287755595961091061972992) 1/2 (if (<=.f64 y -8250186358158779/7237005577332262213973186563042994240829374041602535252466099000494570602496) (/.f64 (*.f64 1/2 x) y) (if (<=.f64 y -8476673415126509/1842755090244893238399196572748178169393027939656465052918069482541808673043041431682679065028153695088607604995490158642466105776330465152617887818082371115063181312) 1/2 (if (or (<=.f64 y 3036836989747397/3196670515523576044934755563308202297086564498088930458479776726656380660551439995003193449537015778467662777468320381844938727095591204153641140224) (and (not (<=.f64 y 3203980553881365/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072)) (<=.f64 y 1700000))) (/.f64 (*.f64 1/2 x) y) 1/2))))
(if (<=.f64 y -7992587079153375/11417981541647679048466287755595961091061972992) 1/2 (if (or (<=.f64 y -8250186358158779/7237005577332262213973186563042994240829374041602535252466099000494570602496) (and (not (<=.f64 y -8476673415126509/1842755090244893238399196572748178169393027939656465052918069482541808673043041431682679065028153695088607604995490158642466105776330465152617887818082371115063181312)) (or (<=.f64 y 3036836989747397/3196670515523576044934755563308202297086564498088930458479776726656380660551439995003193449537015778467662777468320381844938727095591204153641140224) (and (not (<=.f64 y 3203980553881365/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072)) (<=.f64 y 1700000))))) (/.f64 (*.f64 1/2 x) y) 1/2))
1/2
-1
Compiler

Compiled 50 to 40 computations (20% saved)

soundness180.0ms (5.1%)

Rules
1802×pow1
1682×add-exp-log
1680×log1p-expm1-u
1680×expm1-log1p-u
1646×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084911
1268911
0719
116219
2262719
084911
1268911
084911
1268911
Stop Event
unsound
unsound
node limit
unsound
Compiler

Compiled 196 to 58 computations (70.4% saved)

end32.0ms (0.9%)

Compiler

Compiled 44 to 34 computations (22.7% saved)

Profiling

Loading profile data...