Details

Time bar (total: 21.7s)

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)

sample20.6s (95%)

Results
13.4s4100×body1024valid
6.6s2093×body512valid
357.0ms1659×body256valid
273.0ms404×body2048valid
Bogosity

preprocess3.0ms (0%)

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)

simplify49.0ms (0.2%)

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.8b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
59.8b
(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
7.0b
(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))

rewrite112.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1244×bool.json-1
1244×bool.json-2
1194×rational.json-1
1194×rational.json-2
1194×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
17511
222711
345211
487811
5187111
6422811
7750111
Stop Event
node limit
Counts
1 → 23
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)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 1))))) (#(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)) 1/2) 2)))) (#(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)) 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 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (acos.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (acos.f64 (-.f64 1 x)) (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (acos.f64 (-.f64 1 x)) (acos.f64 (-.f64 1 x)))))))

simplify887.0ms (4.1%)

Algorithm
egg-herbie
Rules
8182×rational.json-simplify-41
1934×rational.json-simplify-35
1782×rational.json-simplify-2
1024×rational.json-simplify-49
930×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053459
1104405
2285405
3705297
41088297
52221297
62867297
72924297
82964297
92997297
103027297
113057297
123108297
133138297
143168297
153198297
163228297
173258297
183288297
194016297
204401297
214437297
224471297
234504297
244537297
254570297
264603297
274636297
284669297
294702297
304735297
314768297
324801297
334834297
344867297
354900297
364933297
374966297
384966297
394966297
Stop Event
node limit
Counts
27 → 26
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)) 4))
(*.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2))
(*.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 1))
(*.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)) 1/2) 2)
(*.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4))
(*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 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 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)
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)) 4))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2))
(acos.f64 (+.f64 1 (*.f64 -1 x)))
(acos.f64 (+.f64 1 (neg.f64 x)))
(acos.f64 (-.f64 1 x))
(*.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 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) 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)) 1/2) 2)
(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)) 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 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.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))

eval5.0ms (0%)

Compiler

Compiled 218 to 190 computations (12.8% saved)

prune4.0ms (0%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New26026
Fresh000
Picked011
Done000
Total26127
Error
59.8b
Counts
27 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
59.8b
(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%)

end13.0ms (0.1%)

Compiler

Compiled 5 to 4 computations (20% saved)

Profiling

Loading profile data...