Details

Time bar (total: 3.9s)

analyze433.0ms (11.2%)

Algorithm
search
egg-herbie
Rules
2074×distribute-lft-out--_binary64_1394
788×distribute-rgt-out--_binary64_1396
756×unsub-neg_binary64_1436
614×sub-neg_binary64_1435
581×distribute-rgt-out_binary64_1395
576×+-commutative_binary64_1372
502×distribute-neg-in_binary64_1403
416×distribute-rgt-in_binary64_1392
367×distribute-lft-out_binary64_1393
340×distribute-rgt1-in_binary64_1398
241×neg-sub0_binary64_1437
202×neg-mul-1_binary64_1438
193×distribute-rgt-neg-in_binary64_1400 distribute-lft-in_binary64_1391
163×*-commutative_binary64_1373
155×distribute-lft-neg-out_binary64_1401
141×associate--r+_binary64_1378
140×distribute-lft-neg-in_binary64_1399
119×associate-+r+_binary64_1374
112×distribute-neg-out_binary64_1404
101×associate--l+_binary64_1379
98×associate-+l+_binary64_1375
97×associate-+l-_binary64_1377
93×associate-+r-_binary64_1376
91×associate--r-_binary64_1381
88×associate-*l*_binary64_1383
84×*-rgt-identity_binary64_1432
81×cancel-sign-sub-inv_binary64_1408 associate-*r*_binary64_1382
78×distribute-rgt-neg-out_binary64_1402
70×associate--l-_binary64_1380
50×remove-double-neg_binary64_1430
40×distribute-lft1-in_binary64_1397
35×*-lft-identity_binary64_1431
20×cancel-sign-sub_binary64_1407
17×associate-/r*_binary64_1386
10×sub0-neg_binary64_1429
mul-1-neg_binary64_1434 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 swap-sqr_binary64_1409
sqr-neg_binary64_1456 --rgt-identity_binary64_1428
+-rgt-identity_binary64_1427
/-rgt-identity_binary64_1433 associate-/l/_binary64_1389
1-exp_binary64_1486 +-lft-identity_binary64_1426 difference-of-sqr-1_binary64_1412
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-pow_binary64_1531 log-rec_binary64_1530 log-div_binary64_1529 log-prod_binary64_1528 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow3_binary64_1508 unpow2_binary64_1507 unpow1/2_binary64_1506 pow-plus_binary64_1505 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-prod_binary64_1494 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-unmult_binary64_1479 cube-mult_binary64_1472 cube-div_binary64_1471 cube-prod_binary64_1470 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 div-sub_binary64_1447 div0_binary64_1423 *-inverses_binary64_1422 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 pow-sqr_binary64_1415 sqr-pow_binary64_1414 difference-of-sqr--1_binary64_1413 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 count-2_binary64_1390 associate-/r/_binary64_1388 associate-/l*_binary64_1387 associate-*l/_binary64_1385 associate-*r/_binary64_1384
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11820
22420
33120
44520
56020
69620
721320
836420
948620
10109920
11187720
12193120
13216720
14231520
15231320
16239020
17264920
18321220
19420420
20473820
21478020
22479120
23478820
24457320
25436620
26450320
27456320
28460620
29754420
011
111
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
12.5%25%62.5%4
18.7%12.5%68.8%5
21.9%6.2%71.9%6
23.4%3.1%73.5%7
24.2%1.6%74.2%8
24.6%0.8%74.6%9
24.8%0.4%74.8%10
24.9%0.2%74.9%11
24.9%0.1%75%12
25%0%75%13
25%0%75%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample25.0ms (0.6%)

Algorithm
intervals
Results
17.0ms256×body128valid
Compiler

Compiled 27 to 22 computations (18.5% saved)

simplify300.0ms (7.7%)

Algorithm
egg-herbie
Rules
2074×distribute-lft-out--_binary64_1394
788×distribute-rgt-out--_binary64_1396
756×unsub-neg_binary64_1436
614×sub-neg_binary64_1435
581×distribute-rgt-out_binary64_1395
576×+-commutative_binary64_1372
502×distribute-neg-in_binary64_1403
416×distribute-rgt-in_binary64_1392
367×distribute-lft-out_binary64_1393
340×distribute-rgt1-in_binary64_1398
241×neg-sub0_binary64_1437
202×neg-mul-1_binary64_1438
193×distribute-rgt-neg-in_binary64_1400 distribute-lft-in_binary64_1391
163×*-commutative_binary64_1373
155×distribute-lft-neg-out_binary64_1401
141×associate--r+_binary64_1378
140×distribute-lft-neg-in_binary64_1399
119×associate-+r+_binary64_1374
112×distribute-neg-out_binary64_1404
101×associate--l+_binary64_1379
98×associate-+l+_binary64_1375
97×associate-+l-_binary64_1377
93×associate-+r-_binary64_1376
91×associate--r-_binary64_1381
88×associate-*l*_binary64_1383
84×*-rgt-identity_binary64_1432
81×cancel-sign-sub-inv_binary64_1408 associate-*r*_binary64_1382
78×distribute-rgt-neg-out_binary64_1402
70×associate--l-_binary64_1380
50×remove-double-neg_binary64_1430
40×distribute-lft1-in_binary64_1397
35×*-lft-identity_binary64_1431
20×cancel-sign-sub_binary64_1407
17×associate-/r*_binary64_1386
10×sub0-neg_binary64_1429
mul-1-neg_binary64_1434 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 swap-sqr_binary64_1409
sqr-neg_binary64_1456 --rgt-identity_binary64_1428
+-rgt-identity_binary64_1427
/-rgt-identity_binary64_1433 associate-/l/_binary64_1389
1-exp_binary64_1486 +-lft-identity_binary64_1426 difference-of-sqr-1_binary64_1412
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-pow_binary64_1531 log-rec_binary64_1530 log-div_binary64_1529 log-prod_binary64_1528 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow3_binary64_1508 unpow2_binary64_1507 unpow1/2_binary64_1506 pow-plus_binary64_1505 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-prod_binary64_1494 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-unmult_binary64_1479 cube-mult_binary64_1472 cube-div_binary64_1471 cube-prod_binary64_1470 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 div-sub_binary64_1447 div0_binary64_1423 *-inverses_binary64_1422 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 pow-sqr_binary64_1415 sqr-pow_binary64_1414 difference-of-sqr--1_binary64_1413 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 count-2_binary64_1390 associate-/r/_binary64_1388 associate-/l*_binary64_1387 associate-*l/_binary64_1385 associate-*r/_binary64_1384
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
11820
22420
33120
44520
56020
69620
721320
836420
948620
10109920
11187720
12193120
13216720
14231520
15231320
16239020
17264920
18321220
19420420
20473820
21478020
22479120
23478820
24457320
25436620
26450320
27456320
28460620
29754420

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.3b
Counts
1 → 1
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
0.2b
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))

rewrite126.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
41×*-un-lft-identity_binary64_1442
26×times-frac_binary64_1448
17×add-sqr-sqrt_binary64_1464
16×distribute-lft-out_binary64_1393
15×log-prod_binary64_1528
12×div-inv_binary64_1439
11×add-cube-cbrt_binary64_1477
distribute-rgt-out_binary64_1395 sqrt-prod_binary64_1458
add-log-exp_binary64_1481
pow1_binary64_1503 log-div_binary64_1529 add-exp-log_binary64_1480
frac-add_binary64_1450 flip3-+_binary64_1445 flip-+_binary64_1416 distribute-rgt1-in_binary64_1398 add-cbrt-cube_binary64_1478
log-pow_binary64_1531 rem-log-exp_binary64_1483 sum-log_binary64_1533 +-commutative_binary64_1372
Counts
2 → 51
Calls

2 calls:

26.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
23.0ms
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
Compiler

Compiled 1149 to 742 computations (35.4% saved)

series149.0ms (3.8%)

Error
0.0b
Counts
2 → 12
Calls

2 calls:

80.0ms
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))
53.0ms
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))
Compiler

Compiled 281 to 251 computations (10.7% saved)

simplify94.0ms (2.4%)

Algorithm
egg-herbie
Rules
590×cancel-sign-sub-inv_binary64_1408
519×associate-/l*_binary64_1387
258×distribute-rgt-in_binary64_1392
250×div-sub_binary64_1447
219×distribute-rgt-neg-in_binary64_1400
213×associate-/l/_binary64_1389
204×sub-neg_binary64_1435
177×distribute-lft-neg-in_binary64_1399
171×distribute-lft-in_binary64_1391
161×distribute-rgt-out_binary64_1395
138×associate-*r*_binary64_1382
129×associate-*l*_binary64_1383
128×times-frac_binary64_1448
115×associate-/r/_binary64_1388
91×distribute-neg-in_binary64_1403
82×associate-/r*_binary64_1386
81×log-prod_binary64_1528
68×associate-+l+_binary64_1375
67×associate--r+_binary64_1378
60×cube-div_binary64_1471 distribute-lft-out_binary64_1393
58×unswap-sqr_binary64_1410
56×*-commutative_binary64_1373
53×neg-sub0_binary64_1437
52×neg-mul-1_binary64_1438
51×unsub-neg_binary64_1436
47×+-commutative_binary64_1372
45×cube-prod_binary64_1470 distribute-neg-frac_binary64_1406 associate-+r+_binary64_1374
42×associate-*l/_binary64_1385
40×distribute-rgt-out--_binary64_1396
39×log-div_binary64_1529 sqr-pow_binary64_1414
36×associate-*r/_binary64_1384
31×associate-+r-_binary64_1376
25×associate-+l-_binary64_1377
20×swap-sqr_binary64_1409
18×exp-prod_binary64_1494 associate--l+_binary64_1379
17×unpow3_binary64_1508 distribute-lft-neg-out_binary64_1401 distribute-rgt1-in_binary64_1398
16×sub0-neg_binary64_1429
15×cube-unmult_binary64_1479 +-rgt-identity_binary64_1427
11×/-rgt-identity_binary64_1433
10×pow-plus_binary64_1505 cube-mult_binary64_1472 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 associate--l-_binary64_1380
log-rec_binary64_1530
exp-sum_binary64_1488
log-pow_binary64_1531 distribute-lft-out--_binary64_1394 count-2_binary64_1390
prod-exp_binary64_1491 distribute-frac-neg_binary64_1405 distribute-rgt-neg-out_binary64_1402
unpow1/2_binary64_1506 distribute-neg-out_binary64_1404
rec-exp_binary64_1492 rem-sqrt-square_binary64_1455 difference-of-squares_binary64_1411 distribute-lft1-in_binary64_1397
unpow2_binary64_1507 unpow1_binary64_1500 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-exp-log_binary64_1482 rem-square-sqrt_binary64_1454 div0_binary64_1423 +-inverses_binary64_1421 pow-sqr_binary64_1415 difference-of-sqr-1_binary64_1412
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 pow-base-0_binary64_1526 unpow1/3_binary64_1509 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 div-exp_binary64_1493 exp-diff_binary64_1490 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 mul-1-neg_binary64_1434 remove-double-neg_binary64_1430 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 *-inverses_binary64_1422 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 cancel-sign-sub_binary64_1407 associate--r-_binary64_1381
Counts
63 → 48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01171564
12621455
26291415
319701300
446401300
551481300

prune57.0ms (1.5%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New46248
Fresh000
Picked101
Done000
Total47249
Error
0b
Counts
49 → 2
Compiler

Compiled 902 to 593 computations (34.3% saved)

localize16.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))
0.2b
(+.f64 (neg.f64 (log.f64 (sqrt.f64 x))) (log.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))))
0.3b
(/.f64 1 (sqrt.f64 x))
0.3b
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x))

rewrite530.0ms (13.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
148×*-un-lft-identity_binary64_1442
134×times-frac_binary64_1448
127×sqrt-prod_binary64_1458
109×add-sqr-sqrt_binary64_1464
70×add-cube-cbrt_binary64_1477
42×distribute-lft-out_binary64_1393
32×log-prod_binary64_1528
26×associate-+r+_binary64_1374
16×div-inv_binary64_1439
14×difference-of-squares_binary64_1411
12×associate-/r*_binary64_1386
11×pow1_binary64_1503 associate-/l*_binary64_1387
10×add-exp-log_binary64_1480
add-cbrt-cube_binary64_1478 distribute-rgt-out_binary64_1395
add-log-exp_binary64_1481
distribute-neg-in_binary64_1403 associate-+l+_binary64_1375
log-pow_binary64_1531
distribute-rgt-neg-in_binary64_1400
div-exp_binary64_1493 pow-flip_binary64_1516 sum-log_binary64_1533 flip3-+_binary64_1445 flip-+_binary64_1416 log-div_binary64_1529 associate-+r-_binary64_1376
cbrt-undiv_binary64_1476 frac-2neg_binary64_1453 clear-num_binary64_1441 sqrt-div_binary64_1459 associate-/l/_binary64_1389 frac-add_binary64_1450 distribute-rgt1-in_binary64_1398 +-commutative_binary64_1372
sqrt-undiv_binary64_1463 flip3--_binary64_1446 flip--_binary64_1417 inv-pow_binary64_1527 pow1/2_binary64_1522 sqrt-pow1_binary64_1460 1-exp_binary64_1486 rec-exp_binary64_1492 neg-log_binary64_1535 neg-sub0_binary64_1437 associate-+l-_binary64_1377
Counts
4 → 211
Calls

4 calls:

69.0ms
(+.f64 (neg.f64 (log.f64 (sqrt.f64 x))) (log.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))))
58.0ms
(+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))
8.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x))
5.0ms
(/.f64 1 (sqrt.f64 x))
Compiler

Compiled 6294 to 3110 computations (50.6% saved)

series153.0ms (3.9%)

Error
0b
Counts
4 → 12
Calls

4 calls:

71.0ms
(+.f64 (neg.f64 (log.f64 (sqrt.f64 x))) (log.f64 (+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))))
30.0ms
(+.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x)))
27.0ms
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 x))
16.0ms
(/.f64 1 (sqrt.f64 x))
Compiler

Compiled 570 to 425 computations (25.4% saved)

simplify220.0ms (5.7%)

Algorithm
egg-herbie
Rules
448×unsub-neg_binary64_1436
353×distribute-rgt-in_binary64_1392
302×distribute-lft-in_binary64_1391
261×associate-+l+_binary64_1375
216×times-frac_binary64_1448
174×associate--r+_binary64_1378
171×associate-+r-_binary64_1376
159×associate-*l*_binary64_1383
146×associate-/l*_binary64_1387
144×associate-*r*_binary64_1382
129×associate-+l-_binary64_1377
127×associate-/r*_binary64_1386
115×sub-neg_binary64_1435
105×neg-sub0_binary64_1437
101×associate--l+_binary64_1379
94×cancel-sign-sub-inv_binary64_1408
91×neg-mul-1_binary64_1438
86×log-div_binary64_1529
84×associate-/l/_binary64_1389
81×associate-*l/_binary64_1385
77×div-sub_binary64_1447
75×associate-/r/_binary64_1388
74×exp-sum_binary64_1488
61×associate-*r/_binary64_1384 associate--r-_binary64_1381
59×log-prod_binary64_1528
50×+-commutative_binary64_1372
47×distribute-rgt-neg-in_binary64_1400
45×exp-diff_binary64_1490
42×associate-+r+_binary64_1374
39×associate--l-_binary64_1380
36×distribute-rgt-neg-out_binary64_1402
35×distribute-lft-neg-out_binary64_1401 *-commutative_binary64_1373
32×distribute-rgt-out_binary64_1395
29×exp-prod_binary64_1494 cube-prod_binary64_1470 distribute-neg-in_binary64_1403 distribute-lft-neg-in_binary64_1399
28×distribute-neg-frac_binary64_1406
22×sqr-pow_binary64_1414
20×prod-exp_binary64_1491
19×cube-div_binary64_1471
17×distribute-neg-out_binary64_1404
16×log-pow_binary64_1531 *-rgt-identity_binary64_1432 distribute-rgt-out--_binary64_1396
15×div-exp_binary64_1493 distribute-lft-out_binary64_1393
14×log-rec_binary64_1530 sub0-neg_binary64_1429
13×*-lft-identity_binary64_1431
12×/-rgt-identity_binary64_1433
11×+-rgt-identity_binary64_1427
10×distribute-rgt1-in_binary64_1398
cube-unmult_binary64_1479
exp-to-pow_binary64_1504 swap-sqr_binary64_1409 distribute-lft-out--_binary64_1394
unpow3_binary64_1508
pow-plus_binary64_1505 rem-sqrt-square_binary64_1455 mul0-rgt_binary64_1425 mul0-lft_binary64_1424
cube-mult_binary64_1472 difference-of-squares_binary64_1411 count-2_binary64_1390
rem-exp-log_binary64_1482
cube-neg_binary64_1469
sqr-neg_binary64_1456 rem-square-sqrt_binary64_1454 mul-1-neg_binary64_1434 remove-double-neg_binary64_1430 pow-sqr_binary64_1415 unswap-sqr_binary64_1410
log-E_binary64_1532 rec-exp_binary64_1492 exp-neg_binary64_1489 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 *-inverses_binary64_1422 +-inverses_binary64_1421 cancel-sign-sub_binary64_1407 distribute-frac-neg_binary64_1405 distribute-lft1-in_binary64_1397
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow2_binary64_1507 unpow1/2_binary64_1506 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 div0_binary64_1423 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412
Counts
223 → 154
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02335048
14914674
213424547
343714517
449734517
549404517

prune218.0ms (5.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1540154
Fresh011
Picked011
Done000
Total1542156
Error
0b
Counts
156 → 2
Compiler

Compiled 3965 to 1962 computations (50.5% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x)
0.0b
(+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x))))
0.2b
(log.f64 (/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x))

rewrite134.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0b
Rules
46×*-un-lft-identity_binary64_1442
30×add-sqr-sqrt_binary64_1464 times-frac_binary64_1448
22×add-cube-cbrt_binary64_1477
19×log-prod_binary64_1528
16×distribute-lft-out_binary64_1393
sqrt-prod_binary64_1458 add-exp-log_binary64_1480
add-log-exp_binary64_1481 add-cbrt-cube_binary64_1478 associate-/l*_binary64_1387
pow1_binary64_1503
associate-/r*_binary64_1386
div-inv_binary64_1439 div-exp_binary64_1493 rem-log-exp_binary64_1483 flip3-+_binary64_1445 flip-+_binary64_1416 associate-/l/_binary64_1389
log-pow_binary64_1531 log-div_binary64_1529 sum-log_binary64_1533 +-commutative_binary64_1372 cbrt-undiv_binary64_1476 frac-2neg_binary64_1453 clear-num_binary64_1441
Counts
3 → 80
Calls

3 calls:

10.0ms
(log.f64 (/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x))
9.0ms
(/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x)
6.0ms
(+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x))))
Compiler

Compiled 1709 to 1124 computations (34.2% saved)

series159.0ms (4.1%)

Error
0b
Counts
3 → 18
Calls

3 calls:

75.0ms
(log.f64 (/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x))
40.0ms
(/.f64 (+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x)))) x)
30.0ms
(+.f64 1 (sqrt.f64 (-.f64 1 (*.f64 x x))))
Compiler

Compiled 435 to 381 computations (12.4% saved)

simplify126.0ms (3.2%)

Algorithm
egg-herbie
Rules
650×distribute-rgt-in_binary64_1392
358×sub-neg_binary64_1435
221×distribute-rgt-neg-in_binary64_1400
189×distribute-lft-neg-in_binary64_1399
162×associate-*r*_binary64_1382
151×associate-*l*_binary64_1383
121×cancel-sign-sub-inv_binary64_1408
118×times-frac_binary64_1448
109×distribute-rgt-out_binary64_1395
97×unsub-neg_binary64_1436
96×associate-/l*_binary64_1387
93×log-div_binary64_1529
90×distribute-neg-in_binary64_1403
88×associate-+l+_binary64_1375
86×distribute-lft-in_binary64_1391
85×*-commutative_binary64_1373
84×distribute-lft-out_binary64_1393
78×prod-exp_binary64_1491
74×associate--r+_binary64_1378 +-commutative_binary64_1372
71×neg-sub0_binary64_1437
69×neg-mul-1_binary64_1438 unswap-sqr_binary64_1410
68×cancel-sign-sub_binary64_1407
63×distribute-lft-neg-out_binary64_1401 associate-+l-_binary64_1377
62×associate-/r*_binary64_1386
61×distribute-rgt-neg-out_binary64_1402
59×log-prod_binary64_1528
56×associate--l-_binary64_1380 associate-+r+_binary64_1374
55×associate-+r-_binary64_1376
51×div-exp_binary64_1493
47×associate--l+_binary64_1379
37×sqr-pow_binary64_1414
36×associate-/l/_binary64_1389
32×div-sub_binary64_1447 distribute-rgt-out--_binary64_1396
27×exp-prod_binary64_1494
25×swap-sqr_binary64_1409 associate-*l/_binary64_1385
21×cube-prod_binary64_1470 sub0-neg_binary64_1429 associate-*r/_binary64_1384
19×*-lft-identity_binary64_1431 +-rgt-identity_binary64_1427
18×associate-/r/_binary64_1388
17×*-rgt-identity_binary64_1432
14×rec-exp_binary64_1492 /-rgt-identity_binary64_1433
13×unpow3_binary64_1508 exp-sum_binary64_1488 distribute-rgt1-in_binary64_1398
12×log-rec_binary64_1530 exp-diff_binary64_1490
11×pow-plus_binary64_1505 distribute-neg-out_binary64_1404
10×cube-unmult_binary64_1479 distribute-lft-out--_binary64_1394
distribute-lft1-in_binary64_1397
cube-div_binary64_1471
count-2_binary64_1390
log-pow_binary64_1531 rem-exp-log_binary64_1482 distribute-frac-neg_binary64_1405
remove-double-neg_binary64_1430 remove-double-div_binary64_1418
unpow1/2_binary64_1506 cube-mult_binary64_1472 pow-sqr_binary64_1415
exp-to-pow_binary64_1504 sqr-neg_binary64_1456 rem-sqrt-square_binary64_1455 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 difference-of-sqr--1_binary64_1413 associate--r-_binary64_1381
unpow2_binary64_1507 unpow1_binary64_1500 1-exp_binary64_1486 exp-1-e_binary64_1485 cube-neg_binary64_1469 rem-square-sqrt_binary64_1454 mul-1-neg_binary64_1434 +-inverses_binary64_1421 difference-of-sqr-1_binary64_1412 distribute-neg-frac_binary64_1406
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 pow-base-0_binary64_1526 unpow1/3_binary64_1509 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 div0_binary64_1423 *-inverses_binary64_1422 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 difference-of-squares_binary64_1411
Counts
98 → 48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01532270
13462121
28372070
326002064
448042064
549502064

prune49.0ms (1.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New48048
Fresh000
Picked011
Done011
Total48250
Error
0b
Counts
50 → 2
Compiler

Compiled 797 to 532 computations (33.2% saved)

regimes124.0ms (3.2%)

Accuracy

Total 0.2b remaining (99.9%)

Threshold costs 0.2b (99.9%)

Compiler

Compiled 913 to 712 computations (22% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64_1372
sub-neg_binary64_1435
neg-mul-1_binary64_1438 neg-sub0_binary64_1437 *-commutative_binary64_1373
1-exp_binary64_1486 cancel-sign-sub-inv_binary64_1408 distribute-lft-neg-out_binary64_1401 distribute-rgt-neg-in_binary64_1400
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 unpow1_binary64_1500 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 sqr-abs_binary64_1457 sqr-neg_binary64_1456 unsub-neg_binary64_1436 mul-1-neg_binary64_1434 /-rgt-identity_binary64_1433 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-rgt-identity_binary64_1427 +-lft-identity_binary64_1426 cancel-sign-sub_binary64_1407 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 distribute-neg-in_binary64_1403 distribute-rgt-neg-out_binary64_1402 distribute-lft-neg-in_binary64_1399
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
12022
22622
33022
43222
53122

end0.0ms (0%)

sample950.0ms (24.5%)

Algorithm
intervals
Results
419.0ms8000×body128valid
0.0msbody128nan
Compiler

Compiled 315 to 248 computations (21.3% saved)

Profiling

Loading profile data...