neg log

Time bar (total: 4.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze3.0ms (0.1%)

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

sample918.0ms (18.7%)

Memory
47.3MiB live, 856.9MiB allocated
Samples
656.0ms8 256×0valid
1.0ms21×0invalid
Precisions
Click to see histograms. Total time spent on operations: 275.0ms
ival-log: 109.0ms (39.7% of total)
ival-div: 70.0ms (25.5% of total)
ival-sub: 49.0ms (17.8% of total)
ival-neg: 35.0ms (12.7% of total)
ival-true: 5.0ms (1.8% of total)
exact: 5.0ms (1.8% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain97.0ms (2%)

Memory
28.0MiB live, 143.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-0-(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
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-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))oflow-rescue10
(/.f64 #s(literal 1 binary64) x)overflow1
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))overflow1
Confusion
Predicted +Predicted -
+10
-0255
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+100
-00255
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
36.0ms512×0valid
Compiler

Compiled 57 to 22 computations (61.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-sub: 10.0ms (41.8% of total)
ival-log: 6.0ms (25.1% of total)
ival-div: 4.0ms (16.7% of total)
ival-neg: 2.0ms (8.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.3%)

Memory
-9.7MiB live, 29.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
12113
23913
36213
47413
58313
69113
710013
810313
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.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(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
6.4MiB live, 6.4MiB 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

localize21.0ms (0.4%)

Memory
-15.1MiB live, 32.4MiB 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.24604184757289127
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
Samples
16.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 4.0ms (42.7% of total)
ival-log: 3.0ms (32% of total)
ival-sub: 1.0ms (10.7% of total)
ival-neg: 1.0ms (10.7% 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
5.5MiB live, 5.5MiB 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))

simplify244.0ms (5%)

Memory
-9.3MiB live, 66.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075313
1190292
2397290
3968280
41971278
54221278
65618278
75789278
85802278
95802278
105802278
115977278
126010278
136010278
06010270
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)

rewrite202.0ms (4.1%)

Memory
10.0MiB live, 158.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
01021
13821
223621
3250421
0927918
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>

eval132.0ms (2.7%)

Memory
-28.0MiB live, 79.0MiB allocated
Compiler

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

prune6.0ms (0.1%)

Memory
19.0MiB live, 19.0MiB 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
99.6%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.4%
#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.0%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
97.6%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Compiler

Compiled 24 to 20 computations (16.7% saved)

simplify5.0ms (0.1%)

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

localize46.0ms (0.9%)

Memory
-15.1MiB live, 61.6MiB 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.01953125
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x (log.f64 x))
accuracy0.36869435957107505
#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.02734375
(+.f64 (log.f64 x) x)
accuracy0.6229341001787052
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
accuracy0
(log.f64 x)
accuracy1.5116498211795955
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
Samples
37.0ms256×0valid
Compiler

Compiled 53 to 15 computations (71.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-log: 8.0ms (41.5% of total)
ival-add: 3.0ms (15.6% of total)
ival-mult: 3.0ms (15.6% of total)
ival-div: 2.0ms (10.4% of total)
ival-sub: 1.0ms (5.2% of total)
ival-neg: 1.0ms (5.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series84.0ms (1.7%)

Memory
-6.6MiB live, 146.5MiB 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
38.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))
26.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))
12.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))

simplify176.0ms (3.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
072632
1215597
2503586
31977563
46337554
08278516
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))
(-.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x))) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) x))
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log (/ 1 x)))
(log.f64 x)
(* -1 (log -1))
(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))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x))) (log.f64 #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) 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)
(* 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))
(-.f64 (-.f64 (+.f64 (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) (*.f64 x x))) (log.f64 #s(literal -1 binary64))) (/.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 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))

rewrite209.0ms (4.2%)

Memory
28.9MiB live, 187.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
02056
18556
261756
3738456
0890853
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>

eval83.0ms (1.7%)

Memory
-13.8MiB live, 114.8MiB allocated
Compiler

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

prune18.0ms (0.4%)

Memory
-11.2MiB live, 26.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
99.6%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.4%
#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.0%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
97.6%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.6%
#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
5.7MiB live, 5.7MiB 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
47950
58350
68850
08846
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 (+ (* (+ (* 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)

localize49.0ms (1%)

Memory
21.0MiB live, 58.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.00390625
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
accuracy0.36869435957107505
#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.32757535768558
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 x x) #s(literal 1/2 binary64)))
Samples
41.0ms256×0valid
Compiler

Compiled 29 to 16 computations (44.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-mult: 21.0ms (60.8% of total)
ival-log: 6.0ms (17.4% of total)
ival-div: 2.0ms (5.8% of total)
ival-add: 2.0ms (5.8% of total)
ival-sub: 1.0ms (2.9% of total)
ival-neg: 1.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.2%)

Memory
-36.4MiB live, 6.7MiB 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
8.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))

simplify133.0ms (2.7%)

Memory
3.6MiB live, 200.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064328
1181316
2435309
31194304
44312298
08209279
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)

rewrite276.0ms (5.6%)

Memory
20.9MiB live, 171.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01648
01848
17748
252548
3618348
0827043
Stop Event
iter limit
node limit
iter limit
Counts
4 → 31
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>
#<batchref>

eval10.0ms (0.2%)

Memory
-9.4MiB live, 28.1MiB allocated
Compiler

Compiled 684 to 181 computations (73.5% saved)

prune9.0ms (0.2%)

Memory
29.8MiB live, 29.8MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New77279
Fresh000
Picked101
Done044
Total78684
Accuracy
100.0%
Counts
84 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.4%
#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.0%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
97.6%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.6%
#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.6%
#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)

simplify32.0ms (0.7%)

Memory
-8.3MiB live, 29.6MiB 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
4497106
5803106
6965106
71071106
81098106
91103106
0110398
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 (+ (* (+ (* 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 (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 (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 #s(literal 1/2 binary64) x) x))
(*.f64 (/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) 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)

localize101.0ms (2.1%)

Memory
6.4MiB live, 210.7MiB 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.14453125
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) x))
accuracy0.36869435957107505
#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))))
accuracy62.32757535768558
#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.36869435957107505
#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.32757535768558
#s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) x))
Samples
91.0ms256×0valid
Compiler

Compiled 68 to 20 computations (70.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 45.0ms
ival-neg: 15.0ms (33.6% of total)
ival-div: 14.0ms (31.3% of total)
ival-mult: 6.0ms (13.4% of total)
ival-log: 6.0ms (13.4% of total)
ival-add: 2.0ms (4.5% of total)
ival-sub: 1.0ms (2.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
-1.1MiB live, 38.1MiB 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
3.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))

simplify130.0ms (2.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
064656
1181632
2435618
31194608
44312596
08209558
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))

rewrite187.0ms (3.8%)

Memory
10.3MiB live, 244.2MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023108
02999
110596
265596
3693796
0863986
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>

eval60.0ms (1.2%)

Memory
0.6MiB live, 63.9MiB allocated
Compiler

Compiled 2 796 to 628 computations (77.5% saved)

prune41.0ms (0.8%)

Memory
-24.7MiB live, 51.8MiB allocated
Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New2635268
Fresh000
Picked112
Done044
Total26410274
Accuracy
100.0%
Counts
274 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.4%
#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.0%
#s(approx (neg (log (- (/ 1 x) 1))) (+.f64 (log.f64 x) x))
97.6%
#s(approx (neg (log (- (/ 1 x) 1))) (log.f64 x))
2.6%
#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.6%
#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.3%
#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.6%
#s(approx (neg (log (- (/ 1 x) 1))) #s(approx (+ (* (+ (* 1/2 x) 1) x) (log x)) (*.f64 (/.f64 (*.f64 (*.f64 (neg.f64 x) x) (neg.f64 x)) x) #s(literal 1/2 binary64))))
2.6%
#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.6%
#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 199 to 123 computations (38.2% saved)

regimes25.0ms (0.5%)

Memory
4.5MiB live, 42.4MiB allocated
Counts
12 → 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) (neg.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 (*.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:

7.0ms
(neg.f64 (log.f64 (-.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
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
4.0ms
x
Results
AccuracySegmentsBranch
99.6%1x
99.6%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.6%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
99.6%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
99.6%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes24.0ms (0.5%)

Memory
-3.7MiB live, 40.1MiB 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) (neg.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 (*.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:

7.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 #s(literal 1 binary64) x)
4.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
4.0ms
x
Results
AccuracySegmentsBranch
99.4%1x
99.4%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.4%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
99.4%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
99.4%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes22.0ms (0.4%)

Memory
5.6MiB live, 41.9MiB 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) (neg.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 (*.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:

6.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))
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
x
Results
AccuracySegmentsBranch
99.0%1x
99.0%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
99.0%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
99.0%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
99.0%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes20.0ms (0.4%)

Memory
2.8MiB live, 41.0MiB 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) (neg.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 (*.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:

5.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
(/.f64 #s(literal 1 binary64) x)
3.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
3.0ms
x
Results
AccuracySegmentsBranch
97.6%1x
97.6%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
97.6%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
97.6%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
97.6%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes18.0ms (0.4%)

Memory
-0.7MiB live, 37.1MiB 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) (neg.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 (*.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))))
3.0ms
x
3.0ms
(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
3.0ms
(/.f64 #s(literal 1 binary64) x)
3.0ms
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
2.6%1x
2.6%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
2.6%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
2.6%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.6%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

regimes11.0ms (0.2%)

Memory
26.4MiB live, 26.4MiB 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
(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
(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.0ms
x
Results
AccuracySegmentsBranch
2.6%1x
2.6%1(neg.f64 (log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))))
2.6%1(log.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
2.6%1(-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64))
2.6%1(/.f64 #s(literal 1 binary64) x)
Compiler

Compiled 22 to 19 computations (13.6% saved)

simplify32.0ms (0.6%)

Memory
-22.7MiB live, 57.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03598
15398
26698
38698
411698
515398
617198
718198
818298
Stop Event
saturated
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))))
#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 (28.4%)

Memory
9.8MiB live, 526.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
072632
1215597
2503586
31977563
46337554
08278516
01648
01848
17748
252548
3618348
0827043
075313
1190292
2397290
3968280
41971278
54221278
65618278
75789278
85802278
95802278
105802278
115977278
126010278
136010278
06010270
023108
02999
110596
265596
3693796
0863986
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
saturated
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 94 to 69 computations (26.6% saved)

preprocess52.0ms (1.1%)

Memory
-19.8MiB live, 100.4MiB allocated
Compiler

Compiled 100 to 64 computations (36% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...