Details

Time bar (total: 10.7s)

analyze359.0ms (3.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
6.2%93.6%0.2%5
6.2%68.6%25.1%6
6.2%49.9%43.9%7
6.2%35.9%57.9%8
6.2%25.3%68.4%9
6.2%20.1%73.7%10
6.2%15.7%78.1%11
6.2%12%81.7%12
6.2%9%84.8%13
6.2%7.5%86.3%14
Compiler

Compiled 36 to 28 computations (22.2% saved)

sample6.3s (59.3%)

Symmetry

(sort x y z t)

Results
2.4s4529×body512valid
2.0s9929×body128invalid
1.3s1794×body1024valid
386.0ms1042×body256valid
174.0ms891×body128valid
Compiler

Compiled 107 to 83 computations (22.4% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
531×associate-+r-_binary64
502×associate-+l-_binary64
451×associate--r+_binary64
355×associate--r-_binary64
345×+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02550
15450
216850
397550
4490250
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
5.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
6.0b
(+.f64 (sqrt.f64 (+.f64 x 1)) (-.f64 (-.f64 (sqrt.f64 (+.f64 1 z)) (sqrt.f64 z)) (+.f64 (sqrt.f64 y) (-.f64 (-.f64 (sqrt.f64 x) (sqrt.f64 (+.f64 1 y))) (-.f64 (sqrt.f64 (+.f64 1 t)) (sqrt.f64 t))))))
Compiler

Compiled 206 to 154 computations (25.2% saved)

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
1.8b
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))
4.3b
(-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))
5.2b
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))

series44.0ms (0.4%)

Counts
4 → 4
Calls

4 calls:

12.0ms
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))
12.0ms
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
10.0ms
(-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))
10.0ms
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))

rewrite42.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
243×log1p-expm1-u_binary64
243×expm1-log1p-u_binary64
240×add-sqr-sqrt_binary64
239×add-cbrt-cube_binary64
227×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02244
150444
Stop Event
node limit
Counts
4 → 108
Calls

4 calls:

37.0ms
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
37.0ms
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))
37.0ms
(-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))
36.0ms
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014
144
Stop Event
saturated
Counts
112 → 109

prune245.0ms (2.3%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New9316109
Fresh101
Picked101
Done000
Total9516111
Error
4.4b
Counts
111 → 16
Alt Table
StatusErrorProgram
16.5b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (+.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 y))) (sqrt.f64 (sqrt.f64 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.5b
(+.f64 (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)) (sqrt.f64 x))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (/.f64 (-.f64 (pow.f64 (+.f64 1 y) 3/2) (pow.f64 y 3/2)) (+.f64 (+.f64 1 y) (+.f64 y (pow.f64 (*.f64 (+.f64 1 y) y) 1/2))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) 3) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (/.f64 (-.f64 (+.f64 1 t) t) (+.f64 (sqrt.f64 (+.f64 1 t)) (sqrt.f64 t))))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) 3)) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.4b
(+.f64 (+.f64 (+.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (+.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (expm1.f64 (log1p.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
38.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (+.f64 (fma.f64 1 (sqrt.f64 (+.f64 z 1)) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 z))) (cbrt.f64 z) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))) 3)) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
37.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) 1) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (/.f64 (-.f64 (+.f64 1 y) y) (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (+.f64 (fma.f64 (cbrt.f64 (+.f64 1 t)) (cbrt.f64 (sqrt.f64 (+.f64 1 t))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 t))) (cbrt.f64 t) (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))))
5.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (/.f64 (-.f64 (+.f64 z 1) z) (+.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
Compiler

Compiled 5689 to 3642 computations (36% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
1.8b
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))
2.9b
(-.f64 (+.f64 1 y) y)
5.2b
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))

series1.0ms (0%)

Counts
1 → 12
Calls

1 calls:

1.0ms
(-.f64 (+.f64 1 y) y)

rewrite35.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
677×prod-diff_binary64
537×log1p-expm1-u_binary64
537×expm1-log1p-u_binary64
84×log1p-udef_binary64
57×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
057
11151
216871
Stop Event
node limit
Counts
1 → 1
Calls

1 calls:

34.0ms
(-.f64 (+.f64 1 y) y)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
1412
Stop Event
saturated
Counts
13 → 1

prune339.0ms (3.2%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New82183
Fresh11415
Picked011
Done000
Total831699
Error
4.1b
Counts
99 → 16
Alt Table
StatusErrorProgram
16.5b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (+.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 y))) (sqrt.f64 (sqrt.f64 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.5b
(+.f64 (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)) (sqrt.f64 x))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (/.f64 (-.f64 (pow.f64 (+.f64 1 y) 3/2) (pow.f64 y 3/2)) (+.f64 (+.f64 1 y) (+.f64 y (pow.f64 (*.f64 (+.f64 1 y) y) 1/2))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (/.f64 (-.f64 (+.f64 1 t) t) (+.f64 (sqrt.f64 (+.f64 1 t)) (sqrt.f64 t))))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) 3)) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.4b
(+.f64 (+.f64 (+.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (+.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (expm1.f64 (log1p.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
38.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (+.f64 (fma.f64 1 (sqrt.f64 (+.f64 z 1)) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 z))) (cbrt.f64 z) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
4.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))) 3)) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
37.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) 1) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (/.f64 (-.f64 (+.f64 1 y) y) (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (+.f64 (fma.f64 (cbrt.f64 (+.f64 1 t)) (cbrt.f64 (sqrt.f64 (+.f64 1 t))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 t))) (cbrt.f64 t) (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))))
5.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (/.f64 (-.f64 (+.f64 z 1) z) (+.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
Compiler

Compiled 5110 to 3311 computations (35.2% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))
1.0b
(-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x))
1.8b
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))
5.2b
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))

series9.0ms (0.1%)

Counts
1 → 1
Calls

1 calls:

9.0ms
(/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))

rewrite40.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
845×log1p-expm1-u_binary64
845×expm1-log1p-u_binary64
83×add-sqr-sqrt_binary64
81×add-cbrt-cube_binary64
78×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
117814
2237214
Stop Event
node limit
Counts
1 → 25
Calls

1 calls:

39.0ms
(/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
141
Stop Event
saturated
Counts
26 → 26

prune430.0ms (4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1017108
Fresh41014
Picked101
Done101
Total10717124
Error
4.1b
Counts
124 → 17
Alt Table
StatusErrorProgram
16.5b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (+.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 y))) (sqrt.f64 (sqrt.f64 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.5b
(+.f64 (+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)) (sqrt.f64 x))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))) 3)) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
4.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (pow.f64 (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))) 3) 1/3)) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
4.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (*.f64 (pow.f64 (hypot.f64 (pow.f64 (+.f64 1 y) 1/4) (pow.f64 y 1/4)) -1) (pow.f64 (hypot.f64 (pow.f64 (+.f64 1 y) 1/4) (pow.f64 y 1/4)) -1))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (/.f64 (-.f64 (+.f64 1 t) t) (+.f64 (sqrt.f64 (+.f64 1 t)) (sqrt.f64 t))))
4.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
19.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) 1) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (+.f64 (fma.f64 (cbrt.f64 (+.f64 1 t)) (cbrt.f64 (sqrt.f64 (+.f64 1 t))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 t))) (cbrt.f64 t) (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))))
5.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (/.f64 (-.f64 (+.f64 z 1) z) (+.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
4.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (exp.f64 (neg.f64 (log.f64 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
38.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (+.f64 (fma.f64 1 (sqrt.f64 (+.f64 z 1)) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 z))) (cbrt.f64 z) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
4.5b
(+.f64 (+.f64 (+.f64 (/.f64 (-.f64 (+.f64 1 x) x) (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
6.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 1 y) 3/2) (pow.f64 y 3/2))) (-.f64 (+.f64 (+.f64 1 y) y) (sqrt.f64 (*.f64 (+.f64 1 y) y))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) 3)) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (+.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (sqrt.f64 (sqrt.f64 (+.f64 1 x))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 x))) (cbrt.f64 x) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 x)))) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
Compiler

Compiled 5879 to 3903 computations (33.6% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))
0.7b
(-.f64 (+.f64 1 x) x)
1.8b
(-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t))
5.2b
(-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))

series1.0ms (0%)

Counts
1 → 12
Calls

1 calls:

1.0ms
(-.f64 (+.f64 1 x) x)

rewrite28.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
677×prod-diff_binary64
537×log1p-expm1-u_binary64
537×expm1-log1p-u_binary64
84×log1p-udef_binary64
57×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
057
11151
216871
Stop Event
node limit
Counts
1 → 1
Calls

1 calls:

28.0ms
(-.f64 (+.f64 1 x) x)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
1412
Stop Event
saturated
Counts
13 → 1

prune270.0ms (2.5%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New81182
Fresh41216
Picked101
Done000
Total861399
Error
1.0b
Counts
99 → 13
Alt Table
StatusErrorProgram
4.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (*.f64 (pow.f64 (hypot.f64 (pow.f64 (+.f64 1 y) 1/4) (pow.f64 y 1/4)) -1) (pow.f64 (hypot.f64 (pow.f64 (+.f64 1 y) 1/4) (pow.f64 y 1/4)) -1))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (/.f64 (-.f64 (+.f64 1 t) t) (+.f64 (sqrt.f64 (+.f64 1 t)) (sqrt.f64 t))))
4.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (expm1.f64 (log1p.f64 (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
19.8b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) 1) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (+.f64 (fma.f64 (cbrt.f64 (+.f64 1 t)) (cbrt.f64 (sqrt.f64 (+.f64 1 t))) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 t))) (cbrt.f64 t) (*.f64 (cbrt.f64 (sqrt.f64 t)) (cbrt.f64 t)))))
5.3b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (/.f64 (-.f64 (+.f64 z 1) z) (+.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
1.5b
(+.f64 (+.f64 (+.f64 (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 x)) (sqrt.f64 x))) (/.f64 1 (+.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
16.5b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (+.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y)) (fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 y))) (sqrt.f64 (sqrt.f64 y)) (sqrt.f64 y)))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z)) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
38.2b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (+.f64 (fma.f64 1 (sqrt.f64 (+.f64 z 1)) (neg.f64 (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 z))) (cbrt.f64 z) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 z))))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 1 y)) (sqrt.f64 y))) 3)) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
6.6b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 1 y) 3/2) (pow.f64 y 3/2))) (-.f64 (+.f64 (+.f64 1 y) y) (sqrt.f64 (*.f64 (+.f64 1 y) y))))) (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
5.7b
(+.f64 (+.f64 (+.f64 (-.f64 (sqrt.f64 (+.f64 x 1)) (sqrt.f64 x)) (-.f64 (sqrt.f64 (+.f64 y 1)) (sqrt.f64 y))) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (+.f64 z 1)) (sqrt.f64 z))) 3)) (-.f64 (sqrt.f64 (+.f64 t 1)) (sqrt.f64 t)))
Compiler

Compiled 4332 to 2851 computations (34.2% saved)

regimes1.3s (12.4%)

Accuracy

Total 0.5b remaining (41.5%)

Threshold costs 0.5b (41.5%)

Counts
97 → 1
Compiler

Compiled 52557 to 40267 computations (23.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02756
14256
24956
35356
45556
Stop Event
saturated

end1.0s (9.6%)

Compiler

Compiled 731 to 552 computations (24.5% saved)

Profiling

Loading profile data...