Details

Time bar (total: 11.2s)

analyze0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

sample10.0s (89.3%)

Results
4.7s4198×body1024valid
4.5s2031×body512valid
441.0ms1638×body256valid
353.0ms389×body2048valid
Bogosity

preprocess11.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(acos.f64 (-.f64 1 x))
Outputs
(acos.f64 (-.f64 1 x))
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(acos.f64 (-.f64 1 x))
Outputs
(acos.f64 (-.f64 1 x))

eval0.0ms (0%)

Compiler

Compiled 5 to 4 computations (20% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 5 to 4 computations (20% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.4b
(acos.f64 (-.f64 1 x))
Compiler

Compiled 10 to 7 computations (30% saved)

series0.0ms (0%)

Counts
1 → 4
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(acos.f64 (-.f64 1 x))
0.0ms
x
@0
(acos.f64 (-.f64 1 x))
0.0ms
x
@inf
(acos.f64 (-.f64 1 x))

rewrite239.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
2300×rational.json-simplify-35
1980×rational.json-simplify-2
1484×rational.json-simplify-1
1092×exponential.json-3
1092×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
15311
212111
322511
440111
584111
6204611
7343811
8414711
9511611
10578011
11590411
12603411
13677011
14741311
Stop Event
node limit
Counts
1 → 27
Calls
Call 1
Inputs
(acos.f64 (-.f64 1 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (acos.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (acos.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (acos.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (acos.f64 (-.f64 1 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (acos.f64 (-.f64 1 x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (acos.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (acos.f64 (-.f64 1 x)) 1)))))

simplify852.0ms (7.6%)

Algorithm
egg-herbie
Rules
6302×rational.json-simplify-51
3690×rational.json-simplify-35
1352×rational.json-simplify-49
1250×rational.json-simplify-2
984×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062527
1130465
2426465
31187341
41946341
52775341
63199341
73286341
83345341
93383341
103420341
113457341
123494341
133531341
143568341
153605341
163642341
173679341
183716341
194623341
204906341
215003341
225096341
235187341
245187341
255421341
265421341
275512341
285603341
295694341
305785341
315876341
325967341
336058341
346149341
356240341
366331341
Stop Event
node limit
Counts
31 → 30
Calls
Call 1
Inputs
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(+.f64 (acos.f64 (-.f64 1 x)) 0)
(+.f64 0 (acos.f64 (-.f64 1 x)))
(+.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2))
(-.f64 (acos.f64 (-.f64 1 x)) 0)
(*.f64 1 (acos.f64 (-.f64 1 x)))
(*.f64 (acos.f64 (-.f64 1 x)) 1)
(*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2))
(*.f64 4 (*.f64 (acos.f64 (-.f64 1 x)) 1/4))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2)
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4)
(*.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 1/8)
(*.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2)
(*.f64 1/8 (*.f64 (acos.f64 (-.f64 1 x)) 8))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/4) 4)
(/.f64 (acos.f64 (-.f64 1 x)) 1)
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2)
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4)
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))))) 512)
(pow.f64 (acos.f64 (-.f64 1 x)) 1)
Outputs
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(+.f64 (acos.f64 (-.f64 1 x)) 0)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(+.f64 0 (acos.f64 (-.f64 1 x)))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(+.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(-.f64 (acos.f64 (-.f64 1 x)) 0)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 1 (acos.f64 (-.f64 1 x)))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (acos.f64 (-.f64 1 x)) 1)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 4 (*.f64 (acos.f64 (-.f64 1 x)) 1/4))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 1/8)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 1/8 (*.f64 (acos.f64 (-.f64 1 x)) 8))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/4) 4)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (acos.f64 (-.f64 1 x)) 1)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))) 128)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) 256)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))))))) 512)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(pow.f64 (acos.f64 (-.f64 1 x)) 1)
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))

eval6.0ms (0.1%)

Compiler

Compiled 280 to 248 computations (11.4% saved)

prune4.0ms (0%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New30030
Fresh000
Picked011
Done000
Total30131
Error
59.6b
Counts
31 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
59.6b
(acos.f64 (-.f64 1 x))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
Stop Event
done
saturated
Calls
Call 1
Inputs
(acos.f64 (-.f64 1 x))
Outputs
(acos.f64 (-.f64 1 x))
Compiler

Compiled 5 to 4 computations (20% saved)

soundness0.0ms (0%)

end71.0ms (0.6%)

Compiler

Compiled 5 to 4 computations (20% saved)

Profiling

Loading profile data...