Jmat.Real.lambertw, estimator

Time bar (total: 3.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%50%0%0%50%0%2
50%25%25%0%0%50%0%3
66.7%25%12.5%0%0%62.5%0%4
80%25%6.2%0%0%68.7%0%5
88.9%25%3.1%0%0%71.8%0%6
94.1%25%1.6%0%0%73.4%0%7
97%25%0.8%0%0%74.2%0%8
98.5%25%0.4%0%0%74.6%0%9
99.2%25%0.2%0%0%74.8%0%10
99.6%25%0.1%0%0%74.9%0%11
99.8%25%0%0%0%74.9%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample809.0ms (26.7%)

Memory
-21.0MiB live, 611.8MiB allocated
Samples
531.0ms8 256×0valid
1.0ms14×0invalid
Precisions
Click to see histograms. Total time spent on operations: 293.0ms
ival-log: 247.0ms (84.3% of total)
ival-sub: 38.0ms (13% of total)
ival-true: 6.0ms (2% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain91.0ms (3%)

Memory
15.3MiB live, 92.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(log.f64 (log.f64 x))
00-0-(log.f64 x)
00-0-(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
27.0ms512×0valid
Compiler

Compiled 34 to 16 computations (52.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-log: 13.0ms (80.5% of total)
ival-sub: 3.0ms (18.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess33.0ms (1.1%)

Memory
-16.8MiB live, 22.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
11417
23316
36116
410616
515216
616916
717716
046
076
196
2146
3206
4286
5436
6766
71016
81436
91586
101666
01666
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Outputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Compiler

Compiled 6 to 4 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify6.0ms (0.2%)

Memory
7.0MiB live, 7.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 (log.f64 x))
cost-diff0
(log.f64 x)
cost-diff0
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0412
0712
1912
21412
32012
42812
54312
67612
710112
814312
915812
1016612
016612
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(log.f64 x)
x
(log.f64 (log.f64 x))
Outputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(log.f64 x)
x
(log.f64 (log.f64 x))

localize17.0ms (0.6%)

Memory
21.8MiB live, 21.8MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(log.f64 x)
accuracy0.06640625
(log.f64 (log.f64 x))
accuracy0.26171875
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Samples
12.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-log: 6.0ms (81.7% of total)
ival-sub: 1.0ms (13.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series170.0ms (5.6%)

Memory
-4.6MiB live, 158.9MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())
#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())
#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())
Outputs
#s(alt (- (log x) (log (log x))) (taylor 0 x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (log x) (log (log x))) (taylor 0 x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (log x) (log (log x))) (taylor 0 x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (log x) (log (log x))) (taylor 0 x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log (log x)) (taylor 0 x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (log x)) (taylor 0 x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (log x)) (taylor 0 x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (log x)) (taylor 0 x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x))))) (taylor inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x))))) (taylor inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x))))) (taylor inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x))))) (taylor inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x)))))) (taylor -inf x) (#s(alt (-.f64 (log.f64 x) (log.f64 (log.f64 x))) (patch (-.f64 (log.f64 x) (log.f64 (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (log.f64 (log.f64 x)) (patch (log.f64 (log.f64 x)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
70.0ms
x
@0
((- (log x) (log (log x))) (log x) (log (log x)))
69.0ms
x
@-inf
((- (log x) (log (log x))) (log x) (log (log x)))
30.0ms
x
@inf
((- (log x) (log (log x))) (log x) (log (log x)))

simplify48.0ms (1.6%)

Memory
-26.2MiB live, 14.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018228
134212
260212
3125212
4243212
5342212
6442212
7486212
8493212
0493212
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(- (log x) (log (log x)))
(- (log x) (log (log x)))
(- (log x) (log (log x)))
(- (log x) (log (log x)))
(log x)
(log x)
(log x)
(log x)
(log (log x))
(log (log x))
(log (log x))
(log (log x))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(log (* -1 (log (/ 1 x))))
(log (* -1 (log (/ 1 x))))
(log (* -1 (log (/ 1 x))))
(log (* -1 (log (/ 1 x))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
Outputs
(- (log x) (log (log x)))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (log x) (log (log x)))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (log x) (log (log x)))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (log x) (log (log x)))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log (log x))
(log.f64 (log.f64 x))
(log (log x))
(log.f64 (log.f64 x))
(log (log x))
(log.f64 (log.f64 x))
(log (log x))
(log.f64 (log.f64 x))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(- (* -1 (log (/ 1 x))) (log (* -1 (log (/ 1 x)))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(log (* -1 (log (/ 1 x))))
(log.f64 (log.f64 x))
(log (* -1 (log (/ 1 x))))
(log.f64 (log.f64 x))
(log (* -1 (log (/ 1 x))))
(log.f64 (log.f64 x))
(log (* -1 (log (/ 1 x))))
(log.f64 (log.f64 x))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))
(- (+ (log -1) (* -1 (log (/ -1 x)))) (log (+ (log -1) (* -1 (log (/ -1 x))))))
(-.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))) (log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x)))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))
(log (+ (log -1) (* -1 (log (/ -1 x)))))
(log.f64 (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) x))))

rewrite188.0ms (6.2%)

Memory
26.0MiB live, 182.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0411
0710
12410
215010
3139910
0971510
Stop Event
iter limit
node limit
iter limit
Counts
3 → 249
Calls
Call 1
Inputs
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(log.f64 x)
(log.f64 (log.f64 x))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval92.0ms (3%)

Memory
3.4MiB live, 80.9MiB allocated
Compiler

Compiled 9 051 to 704 computations (92.2% saved)

prune37.0ms (1.2%)

Memory
-16.0MiB live, 22.5MiB allocated
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New3212323
Fresh000
Picked101
Done000
Total3222324
Accuracy
100.0%
Counts
324 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
25.1%
(log.f64 (*.f64 (log.f64 x) x))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify4.0ms (0.1%)

Memory
5.5MiB live, 5.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 x)
cost-diff0
(/.f64 (log.f64 x) x)
cost-diff0
(log.f64 (/.f64 (log.f64 x) x))
cost-diff0
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
cost-diff0
(log.f64 x)
cost-diff0
(*.f64 (log.f64 x) x)
cost-diff0
(log.f64 (*.f64 (log.f64 x) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0730
01330
11830
22030
32230
42430
52830
63330
03330
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(log.f64 (*.f64 (log.f64 x) x))
(*.f64 (log.f64 x) x)
(log.f64 x)
x
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
(log.f64 (/.f64 (log.f64 x) x))
(/.f64 (log.f64 x) x)
(log.f64 x)
x
Outputs
(log.f64 (*.f64 (log.f64 x) x))
(*.f64 (log.f64 x) x)
(log.f64 x)
x
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
(log.f64 (/.f64 (log.f64 x) x))
(/.f64 (log.f64 x) x)
(log.f64 x)
x

localize54.0ms (1.8%)

Memory
2.6MiB live, 46.8MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
accuracy0
(log.f64 (/.f64 (log.f64 x) x))
accuracy0
(log.f64 x)
accuracy0.2421875
(/.f64 (log.f64 x) x)
accuracy0
(log.f64 x)
accuracy0.24604182909293726
(log.f64 (*.f64 (log.f64 x) x))
accuracy0.25390625
(*.f64 (log.f64 x) x)
Samples
20.0ms256×0valid
Compiler

Compiled 32 to 9 computations (71.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-log: 9.0ms (67.4% of total)
ival-div: 2.0ms (15% of total)
ival-mult: 2.0ms (15% of total)
ival-neg: 1.0ms (7.5% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series127.0ms (4.2%)

Memory
15.6MiB live, 211.8MiB allocated
Counts
6 → 72
Calls
Call 1
Inputs
#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())
#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())
#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())
#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())
#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())
#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())
Outputs
#s(alt (+ (log x) (log (log x))) (taylor 0 x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (log x))) (taylor 0 x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (log x))) (taylor 0 x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (log x))) (taylor 0 x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (* x (log x)) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (log x)) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (log x)) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (log x)) (taylor 0 x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (log x)) (* -1 (log x)))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (log x)) (* -1 (log x)))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (log x)) (* -1 (log x)))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (log x)) (* -1 (log x)))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (log x)) (* -1 (log x))) (taylor 0 x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (log x)) (* -1 (log x))) (taylor 0 x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (log x)) (* -1 (log x))) (taylor 0 x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (log x)) (* -1 (log x))) (taylor 0 x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (/ (log x) x) (taylor 0 x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (log x) x) (taylor 0 x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (log x) x) (taylor 0 x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (log x) x) (taylor 0 x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (log (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (log (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (log (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (log (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))) (taylor inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))) (taylor inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))) (taylor inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))) (taylor inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (log (/ 1 x)) x)) (taylor inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (log (/ 1 x)) x)) (taylor inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (log (/ 1 x)) x)) (taylor inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ (log (/ 1 x)) x)) (taylor inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (*.f64 (log.f64 x) x)) (patch (log.f64 (*.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (*.f64 (log.f64 x) x) (patch (*.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) (patch (neg.f64 (log.f64 (/.f64 (log.f64 x) x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))) (taylor -inf x) (#s(alt (log.f64 (/.f64 (log.f64 x) x)) (patch (log.f64 (/.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (/ (+ (log -1) (* -1 (log (/ -1 x)))) x) (taylor -inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (log -1) (* -1 (log (/ -1 x)))) x) (taylor -inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (log -1) (* -1 (log (/ -1 x)))) x) (taylor -inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (log -1) (* -1 (log (/ -1 x)))) x) (taylor -inf x) (#s(alt (/.f64 (log.f64 x) x) (patch (/.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
49.0ms
x
@0
((log (* (log x) x)) (* (log x) x) (log x) (neg (log (/ (log x) x))) (log (/ (log x) x)) (/ (log x) x))
42.0ms
x
@-inf
((log (* (log x) x)) (* (log x) x) (log x) (neg (log (/ (log x) x))) (log (/ (log x) x)) (/ (log x) x))
34.0ms
x
@inf
((log (* (log x) x)) (* (log x) x) (log x) (neg (log (/ (log x) x))) (log (/ (log x) x)) (/ (log x) x))

simplify37.0ms (1.2%)

Memory
-8.4MiB live, 30.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
034548
196504
2172484
3311484
4602484
5937484
61428456
71600456
81611456
01611456
Stop Event
iter limit
saturated
Counts
72 → 72
Calls
Call 1
Inputs
(+ (log x) (log (log x)))
(+ (log x) (log (log x)))
(+ (log x) (log (log x)))
(+ (log x) (log (log x)))
(* x (log x))
(* x (log x))
(* x (log x))
(* x (log x))
(log x)
(log x)
(log x)
(log x)
(* -1 (+ (log (log x)) (* -1 (log x))))
(* -1 (+ (log (log x)) (* -1 (log x))))
(* -1 (+ (log (log x)) (* -1 (log x))))
(* -1 (+ (log (log x)) (* -1 (log x))))
(+ (log (log x)) (* -1 (log x)))
(+ (log (log x)) (* -1 (log x)))
(+ (log (log x)) (* -1 (log x)))
(+ (log (log x)) (* -1 (log x)))
(/ (log x) x)
(/ (log x) x)
(/ (log x) x)
(/ (log x) x)
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(* -1 (* x (log (/ 1 x))))
(* -1 (* x (log (/ 1 x))))
(* -1 (* x (log (/ 1 x))))
(* -1 (* x (log (/ 1 x))))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(* -1 (/ (log (/ 1 x)) x))
(* -1 (/ (log (/ 1 x)) x))
(* -1 (/ (log (/ 1 x)) x))
(* -1 (/ (log (/ 1 x)) x))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
Outputs
(+ (log x) (log (log x)))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log x) (log (log x)))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log x) (log (log x)))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log x) (log (log x)))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(* x (log x))
(*.f64 (log.f64 x) x)
(* x (log x))
(*.f64 (log.f64 x) x)
(* x (log x))
(*.f64 (log.f64 x) x)
(* x (log x))
(*.f64 (log.f64 x) x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(* -1 (+ (log (log x)) (* -1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (log x)) (* -1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (log x)) (* -1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (log x)) (* -1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log (log x)) (* -1 (log x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (log x)) (* -1 (log x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (log x)) (* -1 (log x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (log x)) (* -1 (log x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(/ (log x) x)
(/.f64 (log.f64 x) x)
(/ (log x) x)
(/.f64 (log.f64 x) x)
(/ (log x) x)
(/.f64 (log.f64 x) x)
(/ (log x) x)
(/.f64 (log.f64 x) x)
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+.f64 (log.f64 (log.f64 x)) (log.f64 x))
(* -1 (* x (log (/ 1 x))))
(*.f64 (log.f64 x) x)
(* -1 (* x (log (/ 1 x))))
(*.f64 (log.f64 x) x)
(* -1 (* x (log (/ 1 x))))
(*.f64 (log.f64 x) x)
(* -1 (* x (log (/ 1 x))))
(*.f64 (log.f64 x) x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(+ (log (* -1 (log (/ 1 x)))) (log (/ 1 x)))
(-.f64 (log.f64 (log.f64 x)) (log.f64 x))
(* -1 (/ (log (/ 1 x)) x))
(/.f64 (log.f64 x) x)
(* -1 (/ (log (/ 1 x)) x))
(/.f64 (log.f64 x) x)
(* -1 (/ (log (/ 1 x)) x))
(/.f64 (log.f64 x) x)
(* -1 (/ (log (/ 1 x)) x))
(/.f64 (log.f64 x) x)
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(*.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(*.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(*.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* x (+ (log -1) (* -1 (log (/ -1 x)))))
(*.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(* -1 (+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(-.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(-.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(-.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(+ (log (* -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (log (/ -1 x)))
(-.f64 (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))) (log.f64 (neg.f64 x)))
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(/ (+ (log -1) (* -1 (log (/ -1 x)))) x)
(/.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)

rewrite295.0ms (9.7%)

Memory
-149.1MiB live, 259.0MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0726
01326
13125
211825
377825
4787325
0889925
Stop Event
iter limit
node limit
iter limit
Counts
6 → 945
Calls
Call 1
Inputs
(log.f64 (*.f64 (log.f64 x) x))
(*.f64 (log.f64 x) x)
(log.f64 x)
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
(log.f64 (/.f64 (log.f64 x) x))
(/.f64 (log.f64 x) x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval131.0ms (4.3%)

Memory
16.7MiB live, 327.3MiB allocated
Compiler

Compiled 22 977 to 2 346 computations (89.8% saved)

prune17.0ms (0.5%)

Memory
25.8MiB live, 65.3MiB allocated
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1 06511 066
Fresh000
Picked112
Done000
Total1 06621 068
Accuracy
100.0%
Counts
1 068 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log.f64 (/.f64 x (log.f64 x)))
25.1%
(log.f64 (*.f64 (log.f64 x) x))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify3.0ms (0.1%)

Memory
-36.3MiB live, 3.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 x)
cost-diff0
(/.f64 x (log.f64 x))
cost-diff0
(log.f64 (/.f64 x (log.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0412
0712
0712
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(log.f64 (/.f64 x (log.f64 x)))
(/.f64 x (log.f64 x))
x
(log.f64 x)
Outputs
(log.f64 (/.f64 x (log.f64 x)))
(/.f64 x (log.f64 x))
x
(log.f64 x)

localize17.0ms (0.6%)

Memory
33.8MiB live, 33.8MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(log.f64 x)
accuracy0.00390625
(log.f64 (/.f64 x (log.f64 x)))
accuracy0.328125
(/.f64 x (log.f64 x))
Samples
13.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-log: 6.0ms (75.5% of total)
ival-div: 2.0ms (25.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series132.0ms (4.4%)

Memory
-7.1MiB live, 228.5MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())
#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())
#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())
Outputs
#s(alt (+ (log x) (log (/ 1 (log x)))) (taylor 0 x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (/ 1 (log x)))) (taylor 0 x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (/ 1 (log x)))) (taylor 0 x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (log (/ 1 (log x)))) (taylor 0 x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ x (log x)) (taylor 0 x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (log x)) (taylor 0 x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (log x)) (taylor 0 x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (log x)) (taylor 0 x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x)))) (taylor inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ x (log (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ x (log (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ x (log (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (/ x (log (/ 1 x)))) (taylor inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log (/ 1 x))) (taylor inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 (/.f64 x (log.f64 x))) (patch (log.f64 (/.f64 x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (/ x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (/ x (+ (log -1) (* -1 (log (/ -1 x))))) (taylor -inf x) (#s(alt (/.f64 x (log.f64 x)) (patch (/.f64 x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (log (/ -1 x)))) (taylor -inf x) (#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
77.0ms
x
@-inf
((log (/ x (log x))) (/ x (log x)) (log x))
29.0ms
x
@inf
((log (/ x (log x))) (/ x (log x)) (log x))
26.0ms
x
@0
((log (/ x (log x))) (/ x (log x)) (log x))

simplify28.0ms (0.9%)

Memory
-10.4MiB live, 27.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
025244
142220
265220
3151220
4322220
5503220
6674204
7846200
8885200
9896200
10897200
0897200
Stop Event
iter limit
saturated
Counts
36 → 36
Calls
Call 1
Inputs
(+ (log x) (log (/ 1 (log x))))
(+ (log x) (log (/ 1 (log x))))
(+ (log x) (log (/ 1 (log x))))
(+ (log x) (log (/ 1 (log x))))
(/ x (log x))
(/ x (log x))
(/ x (log x))
(/ x (log x))
(log x)
(log x)
(log x)
(log x)
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(* -1 (/ x (log (/ 1 x))))
(* -1 (/ x (log (/ 1 x))))
(* -1 (/ x (log (/ 1 x))))
(* -1 (/ x (log (/ 1 x))))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (* -1 (log (/ -1 x))))
Outputs
(+ (log x) (log (/ 1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log x) (log (/ 1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log x) (log (/ 1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log x) (log (/ 1 (log x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(/ x (log x))
(/.f64 x (log.f64 x))
(/ x (log x))
(/.f64 x (log.f64 x))
(/ x (log x))
(/.f64 x (log.f64 x))
(/ x (log x))
(/.f64 x (log.f64 x))
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(log x)
(log.f64 x)
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(+ (log (/ -1 (log (/ 1 x)))) (* -1 (log (/ 1 x))))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
(* -1 (/ x (log (/ 1 x))))
(/.f64 x (log.f64 x))
(* -1 (/ x (log (/ 1 x))))
(/.f64 x (log.f64 x))
(* -1 (/ x (log (/ 1 x))))
(/.f64 x (log.f64 x))
(* -1 (/ x (log (/ 1 x))))
(/.f64 x (log.f64 x))
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(+ (log (/ -1 (+ (log -1) (* -1 (log (/ -1 x)))))) (* -1 (log (/ -1 x))))
(-.f64 (log.f64 (neg.f64 x)) (log.f64 (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/.f64 x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/.f64 x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/.f64 x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(/ x (+ (log -1) (* -1 (log (/ -1 x)))))
(/.f64 x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64)))

rewrite127.0ms (4.2%)

Memory
25.3MiB live, 181.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0411
0711
11711
27711
340711
4320011
01074711
Stop Event
iter limit
node limit
iter limit
Counts
3 → 668
Calls
Call 1
Inputs
(log.f64 (/.f64 x (log.f64 x)))
(/.f64 x (log.f64 x))
(log.f64 x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval99.0ms (3.3%)

Memory
-7.2MiB live, 156.7MiB allocated
Compiler

Compiled 15 615 to 1 684 computations (89.2% saved)

prune44.0ms (1.5%)

Memory
1.6MiB live, 38.7MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New7040704
Fresh000
Picked011
Done011
Total7042706
Accuracy
100.0%
Counts
706 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log.f64 (/.f64 x (log.f64 x)))
25.1%
(log.f64 (*.f64 (log.f64 x) x))
Compiler

Compiled 32 to 19 computations (40.6% saved)

regimes61.0ms (2%)

Memory
-37.0MiB live, 12.8MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
(log.f64 (*.f64 (log.f64 x) x))
(log.f64 (/.f64 x (log.f64 x)))
(neg.f64 (log.f64 (/.f64 (log.f64 x) x)))
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
Outputs
(log.f64 (/.f64 x (log.f64 x)))
Calls

3 calls:

2.0ms
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
2.0ms
(log.f64 x)
2.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
100.0%1(log.f64 x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes4.0ms (0.1%)

Memory
9.5MiB live, 9.5MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 (*.f64 (log.f64 x) x))
Outputs
(log.f64 (*.f64 (log.f64 x) x))
Calls

3 calls:

1.0ms
(log.f64 x)
1.0ms
(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
1.0ms
x
Results
AccuracySegmentsBranch
25.1%1x
25.1%1(-.f64 (log.f64 x) (log.f64 (log.f64 x)))
25.1%1(log.f64 x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify37.0ms (1.2%)

Memory
14.9MiB live, 53.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
1710
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 (/.f64 x (log.f64 x)))
(log.f64 (*.f64 (log.f64 x) x))
Outputs
(log.f64 (/.f64 x (log.f64 x)))
(log.f64 (*.f64 (log.f64 x) x))

soundness287.0ms (9.5%)

Memory
-17.0MiB live, 221.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0726
01326
13125
211825
377825
4787325
0889925
0411
0710
12410
215010
3139910
0971510
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 39 to 24 computations (38.5% saved)

preprocess32.0ms (1.1%)

Memory
20.2MiB live, 63.1MiB allocated
Compiler

Compiled 32 to 20 computations (37.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...