neg log

Time bar (total: 4.8s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze2.0ms (0.1%)

Memory
3.2MiB live, 3.2MiB allocated
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)

sample712.0ms (14.9%)

Memory
33.7MiB live, 867.9MiB allocated
Samples
466.0ms8 256×0valid
1.0ms15×0invalid
Precisions
Click to see histograms. Total time spent on operations: 311.0ms
ival-log: 118.0ms (38% of total)
ival-div: 102.0ms (32.8% of total)
ival-sub: 43.0ms (13.8% of total)
ival-neg: 34.0ms (10.9% of total)
ival-true: 6.0ms (1.9% of total)
exact: 5.0ms (1.6% of total)
ival-assert: 3.0ms (1% of total)
Bogosity

explain104.0ms (2.2%)

Memory
3.2MiB live, 88.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
00-0-(/.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
00-0-(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
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
38.0ms512×0valid
Compiler

Compiled 80 to 28 computations (65% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-sub: 11.0ms (43.3% of total)
ival-log: 7.0ms (27.6% of total)
ival-div: 5.0ms (19.7% of total)
ival-neg: 2.0ms (7.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess14.0ms (0.3%)

Memory
13.6MiB live, 13.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
12113
23913
36413
47613
58513
69313
710213
810513
067
0107
1177
2207
3227
4247
5287
6337
0337
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify4.0ms (0.1%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1 binary64) x)
cost-diff0
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
cost-diff0
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
cost-diff0
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
11723
22023
32223
42423
52823
63323
03323
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x

localize45.0ms (1%)

Memory
-11.3MiB live, 26.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 #s(literal 1 binary64) x)
accuracy0
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
accuracy0
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
accuracy0
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
Samples
39.0ms256×0valid
Compiler

Compiled 48 to 14 computations (70.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 3.0ms (32.6% of total)
ival-log: 3.0ms (32.6% of total)
ival-sub: 1.0ms (10.9% of total)
ival-neg: 1.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())
#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt (log x) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* -1 (log x)) (taylor 0 x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* -1 (log x))) (taylor 0 x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (log x)) (* x (- (* -1/2 x) 1))) (taylor 0 x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (log x)) (* x (- (* x (- (* -1/3 x) 1/2)) 1))) (taylor 0 x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1 (* -1 x)) x) (taylor 0 x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1 (* -1 x)) x) (taylor 0 x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ (+ 1 (* -1 x)) x) (taylor 0 x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (/ 1 x)) (taylor inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x))) (taylor inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ (log -1) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) (pow x 2)))) (/ 1 x)) (taylor inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) (patch (neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))) #<representation binary64>) () ())) ())
#s(alt (log -1) (taylor -inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (log -1) (/ 1 x)) (taylor -inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x))) (taylor -inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log -1) (* -1 (/ (+ 1 (+ (/ 1/3 (pow x 2)) (* 1/2 (/ 1 x)))) x))) (taylor -inf x) (#s(alt (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) (patch (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor -inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor -inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor -inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) 1) (taylor -inf x) (#s(alt (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) (patch (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1 binary64) x) (patch (/.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log (- (/ 1 x) 1)) (- (/ 1 x) 1) (/ 1 x))
1.0ms
x
@-inf
((neg (log (- (/ 1 x) 1))) (log (- (/ 1 x) 1)) (- (/ 1 x) 1) (/ 1 x))
0.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (log (- (/ 1 x) 1)) (- (/ 1 x) 1) (/ 1 x))

simplify218.0ms (4.6%)

Memory
2.2MiB live, 80.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075313
1190292
2397290
3969280
41992278
54380278
65774278
75946278
85959278
95959278
105959278
116133278
126219278
136219278
06219270
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(* -1 (log x))
(+ (* -1 x) (* -1 (log x)))
(+ (* -1 (log x)) (* x (- (* -1/2 x) 1)))
(+ (* -1 (log x)) (* x (- (* x (- (* -1/3 x) 1/2)) 1)))
(/ 1 x)
(/ (+ 1 (* -1 x)) x)
(/ (+ 1 (* -1 x)) x)
(/ (+ 1 (* -1 x)) x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(log -1)
(- (log -1) (/ 1 x))
(+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x)))
(- (+ (log -1) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) (pow x 2)))) (/ 1 x))
-1
(- (/ 1 x) 1)
(- (/ 1 x) 1)
(- (/ 1 x) 1)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(log -1)
(- (log -1) (/ 1 x))
(+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x)))
(+ (log -1) (* -1 (/ (+ 1 (+ (/ 1/3 (pow x 2)) (* 1/2 (/ 1 x)))) x)))
-1
(- (/ 1 x) 1)
(- (/ 1 x) 1)
(- (/ 1 x) 1)
(/ 1 x)
(/ 1 x)
(/ 1 x)
(/ 1 x)
Outputs
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(* -1 (log x))
(neg.f64 (log.f64 x))
(+ (* -1 x) (* -1 (log x)))
(neg.f64 (+.f64 (log.f64 x) x))
(+ (* -1 (log x)) (* x (- (* -1/2 x) 1)))
(neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
(+ (* -1 (log x)) (* x (- (* x (- (* -1/3 x) 1/2)) 1)))
(neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x)))
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ (+ 1 (* -1 x)) x)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ (+ 1 (* -1 x)) x)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ (+ 1 (* -1 x)) x)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (/ 1 x))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) x))
(+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) x))
(- (+ (log -1) (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) (pow x 2)))) (/ 1 x))
(+.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) x) #s(literal 1/2 binary64)) x) #s(literal 1 binary64)) x) (log.f64 #s(literal -1 binary64)))
-1
#s(literal -1 binary64)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal -1/2 binary64)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(log -1)
(log.f64 #s(literal -1 binary64))
(- (log -1) (/ 1 x))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) x))
(+ (log -1) (* -1 (/ (+ 1 (* 1/2 (/ 1 x))) x)))
(-.f64 (log.f64 #s(literal -1 binary64)) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) x))
(+ (log -1) (* -1 (/ (+ 1 (+ (/ 1/3 (pow x 2)) (* 1/2 (/ 1 x)))) x)))
(+.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/3 binary64) x) #s(literal 1/2 binary64)) x) #s(literal 1 binary64)) x) (log.f64 #s(literal -1 binary64)))
-1
#s(literal -1 binary64)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(- (/ 1 x) 1)
(/.f64 (-.f64 #s(literal 1 binary64) x) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)
(/ 1 x)
(/.f64 #s(literal 1 binary64) x)

rewrite257.0ms (5.4%)

Memory
-38.4MiB live, 177.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
13821
223621
3251221
0931518
Stop Event
iter limit
node limit
iter limit
Counts
4 → 345
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) 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>

eval49.0ms (1%)

Memory
3.5MiB live, 121.5MiB allocated
Compiler

Compiled 7 945 to 1 337 computations (83.2% saved)

prune6.0ms (0.1%)

Memory
21.7MiB live, 21.7MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3903393
Fresh000
Picked011
Done000
Total3904394
Accuracy
100.0%
Counts
394 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.8%
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
99.7%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
98.9%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Compiler

Compiled 24 to 20 computations (16.7% saved)

simplify8.0ms (0.2%)

Memory
-23.0MiB live, 13.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 x)
cost-diff0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
cost-diff0
(log.f64 x)
cost-diff0
(+.f64 (log.f64 x) x)
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
cost-diff0
(log.f64 x)
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01465
02065
13265
24365
36465
48565
58965
69465
09465
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
(log.f64 x)
x
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
(+.f64 (log.f64 x) x)
(log.f64 x)
x
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
x
#s(literal 1 binary64)
(log.f64 x)
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
(log.f64 x)
x
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
(+.f64 (log.f64 x) x)
(log.f64 x)
x
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
x
#s(literal 1 binary64)
(log.f64 x)

localize41.0ms (0.9%)

Memory
23.7MiB live, 96.4MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
accuracy0
(log.f64 x)
accuracy0.0078125
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
accuracy0.10574601068491532
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
accuracy0
(log.f64 x)
accuracy0.00390625
(+.f64 (log.f64 x) x)
accuracy0.19984157977424477
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
accuracy0
(log.f64 x)
accuracy0.6989890970763752
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Samples
29.0ms256×0valid
Compiler

Compiled 97 to 25 computations (74.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-log: 6.0ms (29.2% of total)
ival-sub: 4.0ms (19.5% of total)
ival-add: 3.0ms (14.6% of total)
ival-mult: 3.0ms (14.6% of total)
ival-div: 2.0ms (9.7% of total)
ival-neg: 1.0ms (4.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series98.0ms (2.1%)

Memory
-14.9MiB live, 70.1MiB allocated
Counts
7 → 84
Calls
Call 1
Inputs
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())
#s(alt (log.f64 x) (patch (log.f64 x) #<representation binary64>) () ())
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())
#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (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 x) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (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 #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ x (log x)) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (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 (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 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 (* x (+ 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 (* x (+ 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 (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (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 (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) (patch #s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1))) (taylor -inf x) (#s(alt (+.f64 (log.f64 x) x) (patch (+.f64 (log.f64 x) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) (patch (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
59.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (log x) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1))
30.0ms
x
@-inf
((neg (log (- (/ 1 x) 1))) (log x) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1))
7.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (log x) (neg (log (- (/ 1 x) 1))) (+ (log x) x) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (+ (* 1/2 x) 1))

simplify143.0ms (3%)

Memory
13.4MiB live, 134.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072632
1215597
2503586
31995563
46388554
08122516
Stop Event
iter limit
node limit
Counts
84 → 82
Calls
Call 1
Inputs
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(log x)
(log x)
(log x)
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(+ x (log x))
(+ x (log x))
(+ x (log x))
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(+ x (log x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(+ (log x) (* x (+ 1 (* 1/2 x))))
1
(+ 1 (* 1/2 x))
(+ 1 (* 1/2 x))
(+ 1 (* 1/2 x))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log (/ 1 x)))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
x
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(+ (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))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
x
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
Outputs
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) 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 x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(log 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)
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(log x)
(log.f64 x)
(+ x (log x))
(+.f64 (log.f64 x) x)
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 x x #s(literal 1/3 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (log.f64 #s(literal -1 binary64))))
(* -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))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 x x #s(literal 1/3 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (log.f64 #s(literal -1 binary64))))
x
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(+.f64 (log.f64 x) x)
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(+.f64 (log.f64 x) x)
(* x (+ 1 (* -1 (/ (log (/ 1 x)) x))))
(+.f64 (log.f64 x) x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 3 binary64)) (fma.f64 x x #s(literal 1/3 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (log.f64 #s(literal -1 binary64))))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x) #s(literal -1 binary64)) 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)))
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
x
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(+.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(+.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* -1 (* x (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1)))
(+.f64 (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))) x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) x) #s(literal 1/2 binary64)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))

rewrite187.0ms (3.9%)

Memory
2.0MiB live, 203.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
02056
18556
261756
3740756
0893153
Stop Event
iter limit
node limit
iter limit
Counts
7 → 256
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
(log.f64 x)
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
(+.f64 (log.f64 x) x)
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
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>

eval77.0ms (1.6%)

Memory
-5.4MiB live, 116.1MiB allocated
Compiler

Compiled 7 709 to 1 044 computations (86.5% saved)

prune16.0ms (0.3%)

Memory
-9.6MiB live, 28.8MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New3851386
Fresh000
Picked033
Done011
Total3855390
Accuracy
100.0%
Counts
390 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.8%
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
99.7%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
98.9%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
Compiler

Compiled 31 to 26 computations (16.1% saved)

simplify5.0ms (0.1%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01650
01850
13250
24450
35650
47750
58150
68650
08646
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 x x)
x
#s(literal 1/2 binary64)
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 #s(literal 1/2 binary64) (*.f64 x x))))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 #s(literal 1/2 binary64) (*.f64 x x)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 x x))
(*.f64 x x)
x
#s(literal 1/2 binary64)

localize81.0ms (1.7%)

Memory
16.8MiB live, 53.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.00390625
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
accuracy0.10574601068491532
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
accuracy62.2770914788917
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
Samples
74.0ms256×0valid
Compiler

Compiled 52 to 22 computations (57.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 67.0ms
ival-mult: 53.0ms (79.4% of total)
ival-log: 6.0ms (9% of total)
ival-div: 2.0ms (3% of total)
ival-add: 2.0ms (3% of total)
ival-sub: 1.0ms (1.5% of total)
ival-neg: 1.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series23.0ms (0.5%)

Memory
-29.2MiB live, 9.3MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())
#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ x (log x)) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
19.0ms
x
@-inf
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x))
1.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x))
1.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* x x) 1/2) (* x x))

simplify219.0ms (4.6%)

Memory
36.3MiB live, 155.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064328
1181316
2435309
31208304
44329298
08272279
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(+ x (log x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(log x)
(log.f64 x)
(+ x (log x))
(+.f64 (log.f64 x) x)
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 x x))) (/.f64 #s(literal -1 binary64) x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1/3 binary64) x)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

rewrite232.0ms (4.9%)

Memory
-9.8MiB live, 304.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01648
01848
17748
252548
3620348
0816743
Stop Event
iter limit
node limit
iter limit
Counts
4 → 30
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(*.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>

eval9.0ms (0.2%)

Memory
-5.0MiB live, 34.1MiB allocated
Compiler

Compiled 675 to 177 computations (73.8% saved)

prune16.0ms (0.3%)

Memory
2.2MiB live, 46.2MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New76278
Fresh000
Picked101
Done044
Total77683
Accuracy
100.0%
Counts
83 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.8%
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
99.7%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
98.9%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
Compiler

Compiled 41 to 35 computations (14.6% saved)

simplify31.0ms (0.7%)

Memory
9.4MiB live, 48.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
cost-diff1216
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
cost-diff0
(*.f64 #s(literal 1/2 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) x) x)
cost-diff0
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
cost-diff0
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023118
029109
151109
293106
3186106
4516106
5824106
6988106
71093106
81169106
91175106
0117598
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) x)
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
(neg.f64 x)
x
(/.f64 #s(literal -1 binary64) x)
#s(literal -1 binary64)
#s(literal 1/2 binary64)
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) x))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) x)
(*.f64 (*.f64 x #s(literal 1/2 binary64)) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) x))
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
(*.f64 (*.f64 x #s(literal 1/2 binary64)) x)
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
(*.f64 x x)
(neg.f64 x)
x
(/.f64 #s(literal -1 binary64) x)
#s(literal -1 binary64)
#s(literal 1/2 binary64)

localize70.0ms (1.5%)

Memory
-21.7MiB live, 94.4MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
accuracy0.10574601068491532
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
accuracy0.13671875
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
accuracy62.2770914788917
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))
accuracy0
(*.f64 (*.f64 #s(literal 1/2 binary64) x) x)
accuracy0
(*.f64 #s(literal 1/2 binary64) x)
accuracy0.10574601068491532
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
accuracy62.2770914788917
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
Samples
52.0ms256×0valid
Compiler

Compiled 132 to 33 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-mult: 22.0ms (52.7% of total)
ival-div: 7.0ms (16.8% of total)
ival-log: 6.0ms (14.4% of total)
ival-add: 2.0ms (4.8% of total)
ival-neg: 2.0ms (4.8% of total)
ival-sub: 1.0ms (2.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
9.6MiB live, 9.6MiB allocated
Counts
8 → 96
Calls
Call 1
Inputs
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())
#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())
#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())
#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())
#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (+ x (log x)) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- x (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* 1/2 x))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x))) (taylor 0 x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (log x) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ x (log x)) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (log x) (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1)) (taylor inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (patch (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 1/2 binary64) x) (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) (patch (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (/ 1 x) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1)) (taylor -inf x) (#s(alt #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) (patch #s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) (patch #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) (patch (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* 1/2 x) x) (* 1/2 x) (/ (neg x) (/ -1 x)) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (/ (neg x) (/ -1 x)) 1/2))
1.0ms
x
@inf
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* 1/2 x) x) (* 1/2 x) (/ (neg x) (/ -1 x)) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (/ (neg x) (/ -1 x)) 1/2))
1.0ms
x
@0
((neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (* 1/2 x) x) (* 1/2 x) (/ (neg x) (/ -1 x)) (neg (log (- (/ 1 x) 1))) (+ (* (+ (* 1/2 x) 1) x) (log x)) (* (/ (neg x) (/ -1 x)) 1/2))

simplify161.0ms (3.4%)

Memory
0.1MiB live, 195.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064656
1181632
2435618
31208608
44329596
08272558
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(+ x (log x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(log x)
(- x (* -1 (log x)))
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(log x)
(+ x (log x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 (log -1))
(- (/ 1 x) (log -1))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
(* 1/2 (pow x 2))
Outputs
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(log x)
(log.f64 x)
(+ x (log x))
(+.f64 (log.f64 x) x)
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(log x)
(log.f64 x)
(- x (* -1 (log x)))
(+.f64 (log.f64 x) x)
(- (* x (+ 1 (* 1/2 x))) (* -1 (log x)))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(- (* x (+ 1 (* x (+ 1/2 (* 1/3 x))))) (* -1 (log x)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/3 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (log.f64 x))
(log x)
(log.f64 x)
(+ x (log x))
(+.f64 (log.f64 x) x)
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(+ (log x) (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 x x))) (/.f64 #s(literal -1 binary64) x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (log -1))
(-.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 3 binary64))) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 x x))) (/.f64 #s(literal -1 binary64) x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* (pow x 2) (+ 1/2 (+ (* -1 (/ (log (/ 1 x)) (pow x 2))) (/ 1 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1/3 binary64) x)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -1 (log -1))
(neg.f64 (log.f64 #s(literal -1 binary64)))
(- (/ 1 x) (log -1))
(-.f64 (/.f64 #s(literal 1 binary64) x) (log.f64 #s(literal -1 binary64)))
(- (+ (/ 1/2 (pow x 2)) (/ 1 x)) (log -1))
(-.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 x x)) (/.f64 #s(literal -1 binary64) x)) (log.f64 #s(literal -1 binary64)))
(- (* -1 (/ (- (* -1 (/ (+ 1/2 (* 1/3 (/ 1 x))) x)) 1) x)) (log -1))
(-.f64 (/.f64 (-.f64 (/.f64 (-.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1/3 binary64) x)) x) #s(literal -1 binary64)) x) (log.f64 #s(literal -1 binary64)))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* (pow x 2) (+ 1/2 (* -1 (/ (- (* -1 (/ (+ (log -1) (* -1 (log (/ -1 x)))) x)) 1) x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (+.f64 (log.f64 (neg.f64 x)) (log.f64 #s(literal -1 binary64))))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))

rewrite200.0ms (4.2%)

Memory
-1.4MiB live, 203.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023108
02999
110596
265796
3694196
0864386
Stop Event
iter limit
node limit
iter limit
Counts
8 → 172
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) x)
(*.f64 #s(literal 1/2 binary64) x)
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
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>

eval28.0ms (0.6%)

Memory
30.9MiB live, 67.2MiB allocated
Compiler

Compiled 2 796 to 628 computations (77.5% saved)

prune32.0ms (0.7%)

Memory
-26.1MiB live, 62.4MiB allocated
Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New2644268
Fresh000
Picked112
Done044
Total2659274
Accuracy
100.0%
Counts
274 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.8%
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
99.7%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
98.9%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
1.4%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
2.7%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
Compiler

Compiled 173 to 109 computations (37% saved)

regimes23.0ms (0.5%)

Memory
7.4MiB live, 45.0MiB allocated
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Calls

5 calls:

4.0ms
(/.f64 #s(literal 1 binary64) x)
4.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
4.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
4.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
4.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
100.0%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
100.0%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
100.0%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes22.0ms (0.5%)

Memory
5.1MiB live, 42.5MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
Calls

5 calls:

6.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
4.0ms
(/.f64 #s(literal 1 binary64) x)
4.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
4.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
4.0ms
x
Results
AccuracySegmentsBranch
99.8%1x
99.8%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.8%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
99.8%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
99.8%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes24.0ms (0.5%)

Memory
-1.4MiB live, 38.6MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
Calls

5 calls:

9.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
4.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
4.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
4.0ms
(/.f64 #s(literal 1 binary64) x)
3.0ms
x
Results
AccuracySegmentsBranch
99.7%1x
99.7%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.7%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
99.7%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
99.7%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes20.0ms (0.4%)

Memory
14.0MiB live, 50.3MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Calls

5 calls:

6.0ms
(/.f64 #s(literal 1 binary64) x)
3.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
3.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
3.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
3.0ms
x
Results
AccuracySegmentsBranch
98.9%1x
98.9%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
98.9%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
98.9%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
98.9%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes19.0ms (0.4%)

Memory
-22.4MiB live, 54.4MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) x)) (*.f64 x x)) #s(literal 1/2 binary64))))
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
Calls

5 calls:

5.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
4.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
3.0ms
(/.f64 #s(literal 1 binary64) x)
3.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
3.0ms
x
Results
AccuracySegmentsBranch
2.7%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
2.7%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.7%1(/.f64 #s(literal 1 binary64) x)
2.7%1x
2.7%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes11.0ms (0.2%)

Memory
17.5MiB live, 17.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 #s(literal -1/2 binary64) x) (/.f64 #s(literal -1 binary64) x))))
Outputs
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
Calls

5 calls:

2.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
2.0ms
(/.f64 #s(literal 1 binary64) x)
2.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
2.0ms
x
Results
AccuracySegmentsBranch
2.7%1x
2.7%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
2.7%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
2.7%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.7%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

simplify104.0ms (2.2%)

Memory
-17.9MiB live, 65.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03598
16398
29598
315498
427398
544898
6119598
7436798
8720198
Stop Event
node limit
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
(neg.f64 (log.f64 (-.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))))
#s(approx (neg (log (- (/ 1 x) 1))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x)))
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (*.f64 #s(literal -1/2 binary64) x)) x)))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (/.f64 (*.f64 (*.f64 x x) (*.f64 #s(literal -1/2 binary64) x)) (neg.f64 x))))
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x)))

soundness1.4s (29.4%)

Memory
-4.2MiB live, 477.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072632
1215597
2503586
31995563
46388554
08122516
01648
01848
17748
252548
3620348
0816743
023108
02999
110596
265796
3694196
0864386
075313
1190292
2397290
3969280
41992278
54380278
65774278
75946278
85959278
95959278
105959278
116133278
126219278
136219278
06219270
Stop Event
fuel
iter limit
saturated
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 94 to 70 computations (25.5% saved)

preprocess42.0ms (0.9%)

Memory
23.4MiB live, 61.7MiB allocated
Compiler

Compiled 100 to 66 computations (34% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...