Details

Time bar (total: 4.3s)

analyze4.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
33.3%12.5%25%0%0%62.5%0%4
60%18.7%12.5%0%0%68.7%0%5
77.8%21.9%6.2%0%0%71.8%0%6
88.2%23.4%3.1%0%0%73.4%0%7
93.9%24.2%1.6%0%0%74.2%0%8
96.9%24.6%0.8%0%0%74.6%0%9
98.4%24.8%0.4%0%0%74.8%0%10
99.2%24.9%0.2%0%0%74.9%0%11
99.6%24.9%0.1%0%0%74.9%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample836.0ms (19.4%)

Results
823.0ms8256×body256valid
1.0ms20×body256invalid
Bogosity

preprocess1.3s (30.6%)

Algorithm
egg-herbie
Rules
12938×rational.json-simplify-41
1682×rational.json-simplify-1
654×rational.json-simplify-35
rational.json-simplify-16
rational.json-simplify-12
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11921
22921
33921
45521
58921
618021
744621
856621
957421
1058221
1159021
1259821
1360621
1461421
1562221
1663021
1763821
1864621
1965421
2066221
2167021
2267821
23189121
24189921
25190721
26191521
27192321
28193121
29253121
30253921
31254721
32255521
33256321
34257121
35257921
36258721
37259521
38260321
39261121
40261921
41262721
42263521
43264321
44265121
45265921
46266721
47267521
48268321
49269121
50269921
51270721
52271521
53272321
54273121
55273921
56274721
57275521
58276321
59277121
60277921
61278721
62279521
63280321
64281121
65281921
66282721
67283521
68284321
69285121
70285921
71286721
72287521
73288321
74289121
75289921
76290721
77291521
78292321
79293121
80293921
81294721
82295521
83296321
84297121
85297921
86298721
87299521
88300321
89301121
90301921
91302721
92303521
93304321
94305121
95305921
96306721
97307521
98308321
99309121
100309921
101310721
102311521
103312321
104313121
105313921
106314721
107315521
108316321
109317121
110317921
111318721
112319521
113320321
114321121
115321921
116322721
117323521
118324321
119325121
120325921
121326721
122327521
123328321
124329121
125329921
126330721
127331521
128332321
129333121
130333921
131334721
132335521
133336321
134337121
135337921
136338721
137339521
138340321
139341121
140341921
141342721
142343521
143344321
144345121
145345921
146346721
147347521
148348321
149349121
150349921
151350721
152351521
153352321
154353121
155353921
156354721
157355521
158356321
159357121
160357921
161358721
162359521
163360321
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify1.1s (26.1%)

Algorithm
egg-herbie
Rules
12938×rational.json-simplify-41
1682×rational.json-simplify-1
654×rational.json-simplify-35
rational.json-simplify-16
rational.json-simplify-12
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11921
22921
33921
45521
58921
618021
744621
856621
957421
1058221
1159021
1259821
1360621
1461421
1562221
1663021
1763821
1864621
1965421
2066221
2167021
2267821
23189121
24189921
25190721
26191521
27192321
28193121
29253121
30253921
31254721
32255521
33256321
34257121
35257921
36258721
37259521
38260321
39261121
40261921
41262721
42263521
43264321
44265121
45265921
46266721
47267521
48268321
49269121
50269921
51270721
52271521
53272321
54273121
55273921
56274721
57275521
58276321
59277121
60277921
61278721
62279521
63280321
64281121
65281921
66282721
67283521
68284321
69285121
70285921
71286721
72287521
73288321
74289121
75289921
76290721
77291521
78292321
79293121
80293921
81294721
82295521
83296321
84297121
85297921
86298721
87299521
88300321
89301121
90301921
91302721
92303521
93304321
94305121
95305921
96306721
97307521
98308321
99309121
100309921
101310721
102311521
103312321
104313121
105313921
106314721
107315521
108316321
109317121
110317921
111318721
112319521
113320321
114321121
115321921
116322721
117323521
118324321
119325121
120325921
121326721
122327521
123328321
124329121
125329921
126330721
127331521
128332321
129333121
130333921
131334721
132335521
133336321
134337121
135337921
136338721
137339521
138340321
139341121
140341921
141342721
142343521
143344321
144345121
145345921
146346721
147347521
148348321
149349121
150349921
151350721
152351521
153352321
154353121
155353921
156354721
157355521
158356321
159357121
160357921
161358721
162359521
163360321
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))

eval1.0ms (0%)

Compiler

Compiled 15 to 13 computations (13.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Compiler

Compiled 8 to 7 computations (12.5% saved)

localize12.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (-.f64 (/.f64 1 x) 1))
0.0b
(-.f64 (/.f64 1 x) 1)
Compiler

Compiled 24 to 19 computations (20.8% saved)

series1.0ms (0%)

Counts
2 → 15
Calls

6 calls:

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

rewrite359.0ms (8.3%)

Algorithm
batch-egg-rewrite
Rules
1328×rational.json-1
1328×rational.json-2
1328×rational.json-3
1318×rational.json-4
1314×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0830
16430
215230
329530
461430
5164330
6488130
Stop Event
node limit
Counts
2 → 69
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) 1)
(log.f64 (-.f64 (/.f64 1 x) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1 x) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (/.f64 1 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (/.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 1/2 x) -1/2) (+.f64 (/.f64 1/2 x) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 1 x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 1/2 x) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 x) (*.f64 (-.f64 1 x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 x) (/.f64 (-.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (/.f64 1 x) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 2 x) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 4 x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 2 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (/.f64 4 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 x) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 x) 1/2) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 x) 2) (/.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 1 x) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (neg.f64 x) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (+.f64 x x) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 x 4) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 2 x) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (/.f64 (*.f64 x -2) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 x 8) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 4 x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1 x) -1) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (/.f64 (*.f64 2 (*.f64 x 8)) (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/2 x) -1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 1 x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) 2) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) 4) (/.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) (*.f64 x 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (/.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) (*.f64 x 8)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 x) 1/4) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 x)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 1 x) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (/.f64 -1 x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)))))

simplify95.0ms (2.2%)

Algorithm
egg-herbie
Rules
1250×rational.json-simplify-53
1072×rational.json-simplify-51
914×rational.json-simplify-49
728×rational.json-simplify-46
718×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01601440
13941402
210591402
341841396
463051396
Stop Event
node limit
Counts
84 → 98
Calls
Call 1
Inputs
(/.f64 1 x)
-1
-1
(*.f64 -1 (log.f64 x))
(+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1 (log.f64 x)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(+.f64 (/.f64 1 x) -1)
(+.f64 (+.f64 (/.f64 1 x) -1) 0)
(+.f64 0 (+.f64 (/.f64 1 x) -1))
(+.f64 -1 (/.f64 1 x))
(+.f64 -2 (-.f64 1 (/.f64 -1 x)))
(+.f64 (+.f64 (/.f64 1/2 x) -1/2) (+.f64 (/.f64 1/2 x) -1/2))
(*.f64 1 (+.f64 (/.f64 1 x) -1))
(*.f64 (/.f64 1 x) (-.f64 1 x))
(*.f64 (+.f64 (/.f64 1 x) -1) 1)
(*.f64 2 (+.f64 (/.f64 1/2 x) -1/2))
(*.f64 (/.f64 2 x) (*.f64 (-.f64 1 x) 1/2))
(*.f64 (/.f64 2 x) (/.f64 (-.f64 1 x) 2))
(*.f64 4 (/.f64 (+.f64 (/.f64 1 x) -1) 4))
(*.f64 (+.f64 (/.f64 2 x) -2) 1/2)
(*.f64 (-.f64 1 x) (/.f64 1 x))
(*.f64 (-.f64 (/.f64 4 x) 4) 1/4)
(*.f64 1/2 (+.f64 (/.f64 2 x) -2))
(*.f64 1/4 (-.f64 (/.f64 4 x) 4))
(*.f64 (+.f64 (/.f64 1/2 x) -1/2) 2)
(*.f64 (*.f64 (-.f64 1 x) 1/2) (/.f64 2 x))
(*.f64 (/.f64 (-.f64 1 x) 2) (/.f64 2 x))
(*.f64 (/.f64 (+.f64 (/.f64 1 x) -1) 4) 4)
(/.f64 1 (/.f64 x (-.f64 1 x)))
(/.f64 (+.f64 (/.f64 1 x) -1) 1)
(/.f64 -1 (/.f64 (neg.f64 x) (-.f64 1 x)))
(/.f64 2 (/.f64 (+.f64 x x) (-.f64 1 x)))
(/.f64 4 (/.f64 (*.f64 x 4) (-.f64 1 x)))
(/.f64 (+.f64 (/.f64 2 x) -2) 2)
(/.f64 (-.f64 1 x) x)
(/.f64 -2 (/.f64 (*.f64 x -2) (-.f64 1 x)))
(/.f64 8 (/.f64 (*.f64 x 8) (-.f64 1 x)))
(/.f64 (-.f64 (/.f64 4 x) 4) 4)
(/.f64 (*.f64 (+.f64 (/.f64 1 x) -1) 8) 8)
(/.f64 16 (/.f64 (*.f64 2 (*.f64 x 8)) (-.f64 1 x)))
(/.f64 (+.f64 (/.f64 1/2 x) -1/2) 1/2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) 16)
(/.f64 (*.f64 2 (-.f64 1 x)) (+.f64 x x))
(/.f64 (/.f64 (-.f64 1 x) 2) (*.f64 x 1/2))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8))) 32)
(/.f64 (/.f64 (-.f64 1 x) 4) (/.f64 x 4))
(/.f64 (/.f64 (-.f64 1 x) (*.f64 x 4)) 1/4)
(/.f64 (+.f64 1 (/.f64 -1 x)) -1)
(/.f64 (/.f64 (-.f64 1 x) (*.f64 x 8)) 1/8)
(/.f64 (/.f64 (-.f64 1 x) 1/2) (+.f64 x x))
(/.f64 (/.f64 (-.f64 1 x) 1/4) (*.f64 x 4))
(/.f64 (neg.f64 (-.f64 1 x)) (neg.f64 x))
(pow.f64 (+.f64 (/.f64 1 x) -1) 1)
(neg.f64 (+.f64 1 (/.f64 -1 x)))
(+.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)
(+.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(-.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)
(*.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(*.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 1/2)
(*.f64 4 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))
(*.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 1/4)
(*.f64 1/2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))
(*.f64 1/4 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) 2)
(*.f64 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)
(/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 2)
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8))) 32)
(pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
Outputs
(/.f64 1 x)
-1
-1
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x)))
(+.f64 (*.f64 -1 (log.f64 x)) (neg.f64 x))
(*.f64 -1 (+.f64 x (log.f64 x)))
(neg.f64 (+.f64 x (log.f64 x)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (*.f64 -1 (log.f64 x))))
(+.f64 (neg.f64 x) (+.f64 (*.f64 -1 (log.f64 x)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (*.f64 -1 (+.f64 x (log.f64 x))) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (neg.f64 (+.f64 x (log.f64 x))) (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1 (log.f64 x)))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -1 (log.f64 x)) (neg.f64 x))))
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1 (+.f64 x (log.f64 x))) (*.f64 -1/3 (pow.f64 x 3))))
(+.f64 (*.f64 -1 (+.f64 x (log.f64 x))) (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 -1/2 (pow.f64 x 2))))
(+.f64 (neg.f64 (+.f64 x (log.f64 x))) (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/3 (pow.f64 x 3))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3))))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (*.f64 1/3 (/.f64 1 (pow.f64 x 3))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (/.f64 1 x))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (/.f64 1 x)))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3))))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 x 2))) (*.f64 1/3 (/.f64 1 (pow.f64 x 3))))))
(+.f64 (/.f64 1 x) -1)
(+.f64 (+.f64 (/.f64 1 x) -1) 0)
(+.f64 (/.f64 1 x) -1)
(+.f64 0 (+.f64 (/.f64 1 x) -1))
(+.f64 (/.f64 1 x) -1)
(+.f64 -1 (/.f64 1 x))
(+.f64 (/.f64 1 x) -1)
(+.f64 -2 (-.f64 1 (/.f64 -1 x)))
(+.f64 (/.f64 1 x) -1)
(+.f64 (+.f64 (/.f64 1/2 x) -1/2) (+.f64 (/.f64 1/2 x) -1/2))
(+.f64 (/.f64 1/2 x) (+.f64 -1/2 (+.f64 -1/2 (/.f64 1/2 x))))
(/.f64 (+.f64 -1/2 (/.f64 1/2 x)) 1/2)
(+.f64 -1 (*.f64 2 (/.f64 1/2 x)))
(*.f64 1 (+.f64 (/.f64 1 x) -1))
(+.f64 (/.f64 1 x) -1)
(*.f64 (/.f64 1 x) (-.f64 1 x))
(+.f64 (/.f64 1 x) -1)
(*.f64 (+.f64 (/.f64 1 x) -1) 1)
(+.f64 (/.f64 1 x) -1)
(*.f64 2 (+.f64 (/.f64 1/2 x) -1/2))
(*.f64 2 (+.f64 -1/2 (/.f64 1/2 x)))
(*.f64 (/.f64 2 x) (*.f64 (-.f64 1 x) 1/2))
(+.f64 (/.f64 1 x) -1)
(*.f64 (/.f64 2 x) (/.f64 (-.f64 1 x) 2))
(+.f64 (/.f64 1 x) -1)
(*.f64 4 (/.f64 (+.f64 (/.f64 1 x) -1) 4))
(+.f64 (/.f64 1 x) -1)
(*.f64 (+.f64 (/.f64 2 x) -2) 1/2)
(+.f64 (/.f64 1 x) -1)
(*.f64 (-.f64 1 x) (/.f64 1 x))
(+.f64 (/.f64 1 x) -1)
(*.f64 (-.f64 (/.f64 4 x) 4) 1/4)
(*.f64 1/2 (+.f64 (/.f64 2 x) -2))
(+.f64 (/.f64 1 x) -1)
(*.f64 1/4 (-.f64 (/.f64 4 x) 4))
(*.f64 (-.f64 (/.f64 4 x) 4) 1/4)
(*.f64 (+.f64 (/.f64 1/2 x) -1/2) 2)
(*.f64 2 (+.f64 -1/2 (/.f64 1/2 x)))
(*.f64 (*.f64 (-.f64 1 x) 1/2) (/.f64 2 x))
(+.f64 (/.f64 1 x) -1)
(*.f64 (/.f64 (-.f64 1 x) 2) (/.f64 2 x))
(+.f64 (/.f64 1 x) -1)
(*.f64 (/.f64 (+.f64 (/.f64 1 x) -1) 4) 4)
(+.f64 (/.f64 1 x) -1)
(/.f64 1 (/.f64 x (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (/.f64 1 x) -1) 1)
(+.f64 (/.f64 1 x) -1)
(/.f64 -1 (/.f64 (neg.f64 x) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 2 (/.f64 (+.f64 x x) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 4 (/.f64 (*.f64 x 4) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (/.f64 2 x) -2) 2)
(+.f64 (/.f64 1 x) -1)
(/.f64 (-.f64 1 x) x)
(+.f64 (/.f64 1 x) -1)
(/.f64 -2 (/.f64 (*.f64 x -2) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 8 (/.f64 (*.f64 x 8) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (-.f64 (/.f64 4 x) 4) 4)
(/.f64 (*.f64 (+.f64 (/.f64 1 x) -1) 8) 8)
(+.f64 (/.f64 1 x) -1)
(/.f64 16 (/.f64 (*.f64 2 (*.f64 x 8)) (-.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (/.f64 1/2 x) -1/2) 1/2)
(+.f64 (/.f64 1/2 x) (+.f64 -1/2 (+.f64 -1/2 (/.f64 1/2 x))))
(/.f64 (+.f64 -1/2 (/.f64 1/2 x)) 1/2)
(+.f64 -1 (*.f64 2 (/.f64 1/2 x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) 16)
(+.f64 (/.f64 1 x) -1)
(/.f64 (*.f64 2 (-.f64 1 x)) (+.f64 x x))
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) 2) (*.f64 x 1/2))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8)) (*.f64 2 (*.f64 (+.f64 (/.f64 1 x) -1) 8))) 32)
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) 4) (/.f64 x 4))
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) (*.f64 x 4)) 1/4)
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 1 (/.f64 -1 x)) -1)
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) (*.f64 x 8)) 1/8)
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) 1/2) (+.f64 x x))
(+.f64 (/.f64 1 x) -1)
(/.f64 (/.f64 (-.f64 1 x) 1/4) (*.f64 x 4))
(+.f64 (/.f64 1 x) -1)
(/.f64 (neg.f64 (-.f64 1 x)) (neg.f64 x))
(+.f64 (/.f64 1 x) -1)
(pow.f64 (+.f64 (/.f64 1 x) -1) 1)
(+.f64 (/.f64 1 x) -1)
(neg.f64 (+.f64 1 (/.f64 -1 x)))
(+.f64 (/.f64 1 x) -1)
(+.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)
(log.f64 (+.f64 (/.f64 1 x) -1))
(+.f64 0 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log.f64 (+.f64 (/.f64 1 x) -1))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 (/.f64 1 x) -1))
(-.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 0)
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 1 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))))
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 1/2)
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 4 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 1/4)
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 1/2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2))
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 1/4 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4))
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1))) 2)
(log.f64 (+.f64 (/.f64 1 x) -1))
(*.f64 (/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 2) 2)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 4) 4)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8) 8)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) 16)
(log.f64 (+.f64 (/.f64 1 x) -1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8)) (*.f64 2 (*.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 8))) 32)
(log.f64 (+.f64 (/.f64 1 x) -1))
(pow.f64 (log.f64 (+.f64 (/.f64 1 x) -1)) 1)
(log.f64 (+.f64 (/.f64 1 x) -1))

eval25.0ms (0.6%)

Compiler

Compiled 1078 to 889 computations (17.5% saved)

prune13.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New95398
Fresh000
Picked011
Done000
Total95499
Error
0b
Counts
99 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
0.8b
(neg.f64 (neg.f64 (log.f64 x)))
0.0b
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
64.0b
(neg.f64 (log.f64 -1))
Compiler

Compiled 24 to 20 computations (16.7% saved)

localize4.0ms (0.1%)

Compiler

Compiled 7 to 7 computations (0% saved)

localize7.0ms (0.2%)

Compiler

Compiled 11 to 4 computations (63.6% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (log.f64 x))
Compiler

Compiled 19 to 5 computations (73.7% saved)

series9.0ms (0.2%)

Counts
1 → 9
Calls

3 calls:

TimeVariablePointExpression
5.0ms
x
@0
(+.f64 x (log.f64 x))
3.0ms
x
@-inf
(+.f64 x (log.f64 x))
1.0ms
x
@inf
(+.f64 x (log.f64 x))

rewrite162.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
1506×rational.json-1
1506×rational.json-2
1506×rational.json-3
1428×exponential.json-3
1428×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
13911
29011
318511
434611
578111
6201211
7367711
8476311
9650411
10770911
11789811
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 x (log.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (log.f64 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (log.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (log.f64 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (log.f64 x)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (log.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (log.f64 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (log.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (log.f64 x)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (log.f64 x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (log.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (log.f64 x)) 1)))))

simplify199.0ms (4.6%)

Algorithm
egg-herbie
Rules
1558×rational.json-simplify-35
1282×rational.json-simplify-46
1234×rational.json-simplify-1
906×rational.json-simplify-2
830×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063428
1142416
2458416
31236416
41943416
52854416
63373416
73473416
83559416
93647416
103810416
114342416
125314416
136531416
Stop Event
node limit
Counts
32 → 34
Calls
Call 1
Inputs
(log.f64 x)
x
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
x
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(-.f64 (+.f64 x (log.f64 x)) 0)
(*.f64 (+.f64 x (log.f64 x)) 1)
(*.f64 1 (+.f64 x (log.f64 x)))
(*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 1/2))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 x (log.f64 x)) 1/4))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 1/4)
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 x (log.f64 x)) 2))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (log.f64 x)) 4))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 x (log.f64 x)) 8))
(/.f64 (+.f64 x (log.f64 x)) 1)
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 2)
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 4)
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))))) 256)
(pow.f64 (+.f64 x (log.f64 x)) 1)
Outputs
(log.f64 x)
x
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
(+.f64 x (*.f64 -1 (log.f64 (/.f64 1 x))))
(+.f64 x (neg.f64 (log.f64 (/.f64 1 x))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
(+.f64 x (*.f64 -1 (log.f64 (/.f64 1 x))))
(+.f64 x (neg.f64 (log.f64 (/.f64 1 x))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) x)
(+.f64 x (*.f64 -1 (log.f64 (/.f64 1 x))))
(+.f64 x (neg.f64 (log.f64 (/.f64 1 x))))
x
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x)))))
(+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x)))))
(+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) x))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x)))))
(+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (+.f64 x (log.f64 -1)))
(+.f64 x (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1)))
(-.f64 (+.f64 x (log.f64 x)) 0)
(+.f64 x (log.f64 x))
(*.f64 (+.f64 x (log.f64 x)) 1)
(+.f64 x (log.f64 x))
(*.f64 1 (+.f64 x (log.f64 x)))
(+.f64 x (log.f64 x))
(*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 1/2))
(+.f64 x (log.f64 x))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 1/2)
(+.f64 x (log.f64 x))
(*.f64 4 (*.f64 (+.f64 x (log.f64 x)) 1/4))
(+.f64 x (log.f64 x))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 1/4)
(+.f64 x (log.f64 x))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 1/8)
(+.f64 x (log.f64 x))
(*.f64 1/2 (*.f64 (+.f64 x (log.f64 x)) 2))
(+.f64 x (log.f64 x))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 1/2) 2)
(+.f64 x (log.f64 x))
(*.f64 1/4 (*.f64 (+.f64 x (log.f64 x)) 4))
(+.f64 x (log.f64 x))
(*.f64 (*.f64 (+.f64 x (log.f64 x)) 1/4) 4)
(+.f64 x (log.f64 x))
(*.f64 1/8 (*.f64 (+.f64 x (log.f64 x)) 8))
(+.f64 x (log.f64 x))
(/.f64 (+.f64 x (log.f64 x)) 1)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 2) 2)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 4) 4)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 (+.f64 x (log.f64 x)) 8) 8)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)) 16)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))) 32)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))) 64)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8))))) 128)
(+.f64 x (log.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (log.f64 x)) 8)))))) 256)
(+.f64 x (log.f64 x))
(pow.f64 (+.f64 x (log.f64 x)) 1)
(+.f64 x (log.f64 x))

eval7.0ms (0.2%)

Compiler

Compiled 355 to 242 computations (31.8% saved)

prune5.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New33134
Fresh000
Picked011
Done123
Total34438
Error
0b
Counts
38 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
0.8b
(neg.f64 (neg.f64 (log.f64 x)))
62.6b
(neg.f64 (neg.f64 x))
0.0b
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Compiler

Compiled 24 to 19 computations (20.8% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Error
0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
0.8b
(neg.f64 (neg.f64 (log.f64 x)))
62.6b
(neg.f64 (neg.f64 x))
0.0b
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes70.0ms (1.6%)

Counts
5 → 1
Calls
Call 1
Inputs
(neg.f64 (neg.f64 x))
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Calls

5 calls:

52.0ms
(-.f64 (/.f64 1 x) 1)
4.0ms
(log.f64 (-.f64 (/.f64 1 x) 1))
4.0ms
(/.f64 1 x)
4.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
4.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
0.0b1(log.f64 (-.f64 (/.f64 1 x) 1))
0.0b1(-.f64 (/.f64 1 x) 1)
0.0b1(/.f64 1 x)
Compiler

Compiled 51 to 40 computations (21.6% saved)

regimes9.0ms (0.2%)

Counts
4 → 1
Calls
Call 1
Inputs
(neg.f64 (neg.f64 x))
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
Outputs
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
Calls

1 calls:

8.0ms
x
Results
ErrorSegmentsBranch
0.5b1x
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes4.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
(neg.f64 (neg.f64 x))
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
Outputs
(neg.f64 (neg.f64 (log.f64 x)))
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
0.8b1x
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes4.0ms (0.1%)

Accuracy

Total -1.4b remaining (-2.3%)

Threshold costs -1.4b (-2.3%)

Counts
2 → 1
Calls
Call 1
Inputs
(neg.f64 (neg.f64 x))
(neg.f64 (log.f64 -1))
Outputs
(neg.f64 (neg.f64 x))
Calls

1 calls:

3.0ms
x
Results
ErrorSegmentsBranch
62.6b1x
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01762
Stop Event
done
saturated
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (neg.f64 x))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (neg.f64 (+.f64 x (log.f64 x))))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (neg.f64 x))
Compiler

Compiled 24 to 19 computations (20.8% saved)

soundness0.0ms (0%)

end25.0ms (0.6%)

Compiler

Compiled 21 to 15 computations (28.6% saved)

Profiling

Loading profile data...